jma*_*erx 12 c++ unicode utf-8 character-encoding
既然std::string实际上是typedef模板类,我怎么能覆盖呢?我想制作一个std::string能返回正确长度的UTF-8 .
Fre*_*Foo 19
如果你必须定义自己的字符串类型,那么不要继承std::string但是定义你自己的Character Traits类并做类似的事情
typedef std::basic_string<unsigned char, utf8_traits> utf8string;
Run Code Online (Sandbox Code Playgroud)
Arm*_*yan 16
不要从STRING中获取
std :: string,也就是说,基本上整个basic_string模板都不是为了派生而来的.已经有数以万计的文章.它没有任何虚函数,因此无法覆盖.你能做的最好的就是隐藏一些东西.最好是使用合成/聚合!也就是说,只需在类中保留类型字符串的成员并转发调用!再次,只是为了确保
不要从STRING中获取