繁体   English   中英

为什么std :: string实现为char的basic_string而不是unsigned char的

[英]Why is std::string implemented as basic_string of `char` and not `unsigned char`

typedef basic_string<char> string;

标准库中的所有std::string工具都使用char 这是为什么? 尽管ASCII表(128)的所有字符都适合char (-128到127)的范围,但是许多其他字符编码使用8位表示。

在字符串字符中具有“负”值的好处是什么?

字符串文字的类型为const char* ,因此在执行std::string("fooo")时将需要O(n)转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM