というか、std::stringでMBCSを使いたいなら適当なtraitsを作って食わせるのが正道なんだが。