|
|
1
14
多个字符串类的原因是C++标准在相当晚的时候才完成(1998);然后需要一些时间,直到所有的系统实际上提供了一个正确的C++库。到那时,所有这些相互竞争的字符串类都已经写入了。 此外,在某些情况下,人们希望从单个基类继承,而std::string不会这样做。 |
|
|
2
8
imo,std::string不够旧,无法广泛使用(qt和wxwidget比stl旧,或者至少比广泛使用的稳定和工作的stl旧)。另外,对于每个人来说,std::string并不是最好的字符串类,其他框架也有其他需求。 注意! 下面的段落有点不正确,但要理解评论。 例如,C++STL是非常资源受限的,而QT String类提供了许多SuntTebe永远不会同意的好处,尤其是一些人希望它在嵌入式系统等上容易实现。 |
|
|
3
7
主要问题之一
也,
|
|
|
4
5
一个合理的原因(与“我不想学习标准库”等不合理的原因相比)是,一些库希望保留对二进制布局的控制,以便实现某些类型的互操作性(例如跨版本的二进制兼容性)。这方面的一个例子就是VC++库中的“bstr”,对于COM来说,将“bstr”表示为“bstr”(因为这是COM需要的),因此在“bstr”之上构建的包装对于COM开发人员来说是很有价值的。 |
|
|
5
2
Irc Bjarne Stroustrup故意省略了C++中的一个字符串类,因为他认为它是一个“通行仪式”。所有学习C++的人都希望自己编写。当然,在C++开始时,没有标准库,我记得AT&AMT(它是C的预处理器)和NIH课程,来自美国国立卫生研究院的一个非常先锋的小组(也包括早期的收集课程)。 |
|
|
6
2
字符串很好…哦,除了没有“format()”调用…而且,它没有split()或join()。实际上,在那些“低级”脚本语言的字符串用户看来,它并没有做很多事情… 如果C++有能力添加到现有的类(如Objto-C或Ruby),那么你可能不会看到这个… 此外,请考虑C++通常在创建像真实本地类型的对象时做得更好(比Java那样的事情)… |
|
|
7
0
C++中的一个租户是“你不为你不需要的东西付费”,这意味着不需要是每个C++程序员都必须知道和(更重要的)必须使用的一刀切的字符串类。也许您的项目需要线程安全字符串。你可以上自己的课。您总是可以选择使用现有的std::string。 在大多数情况下,std::string已经足够好了。但如果不是的话,你不高兴自己没有被锁在里面吗?试着用Java编写你自己的字符串类,看看花多长时间才能拔出你的头发。 至于你的第二点,如果你要与一个你已经添加到你的项目中的库作斗争,为什么你首先要将这个库添加到你的项目中?决定使用wxwidgets或qt的一部分是确认您必须在项目中接受它的字符串类(或者至少是该项目的一个相当大的部分)。就像对“c”库的决定意味着要在所有函数上放置char*缓冲区和大小参数。 所以,是的,学习备用字符串类。如果您正在使用一个库(并且希望精通它),您不能仅仅因为“它是另一个字符串类”而决定忽略该库的一部分。那没有道理。 |
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 1 年前 |
|
|
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 1 年前 |
|
|
user764754 · 防止多行原始字符串文字中出现新行字符 1 年前 |
|
|
Bogaso · 从列表中返回与模式匹配的元素 1 年前 |
|
|
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 1 年前 |