为什么std :: string没有大小写,格式等方法?

时间:2014-11-06 11:18:55

标签: c++ string c++11 stl

为什么std::string根本不聪明。为什么它没有字符串操作等功能,如Format/sprintf,转换为上层,转换为低层,从整数/实数输入,转换为整数/实数,以及其他重要函数字符串类应具有(参考:CStringwxStringSystem.String,BASIC字符串......)。

我知道有std::to_string这样的新功能,但是......为什么string本身就是如此愚蠢。为什么只是vector<char>?为什么还处于石器时代?为什么标准不能让它变得聪明!?

1 个答案:

答案 0 :(得分:11)

案例比较和转换完全一般,很难并且需要太多信息;就这么简单。

在美式和英式英语中,确实很简单。

但是德国呢?例如。小写ß(小写字母是一个字符,但大写字母是两个字符:SS)。

std::string可以支持的宽字符集怎么样?那些来自其他欧洲语言的重音字符如ë?

这个课程根本没什么愚蠢的。它有一个定义明确的规范,标准委员会不会发布可能破坏语言的功能。

至于格式化,这很大程度上推迟到流媒体库,例如, std::stringstream。没有理由直接加入std::string