为什么std::string方法的风格与STL的其他部分不同?

Is there a reason that std::string methods have a diffrent style than rest of STL

本文关键字:其他部 STL 风格 std string 方法 为什么      更新时间:2023-10-16

我一直想知道为什么字符串方法与其他容器的方法不同,例如std::map…我的意思是这样的一个例子:

size_t find (char c, size_t pos = 0) const

注意,返回值不是迭代器。那么为什么std::string是这样的,除了明显的:委员会做了一个bug之外,string是坏的,有什么"合法"的原因吗?

顺便说一句,我知道有些人不认为字符串是STL的一部分,你可以假装我问为什么字符串不同于std中的容器?

可以。

因为std::string不是容器,而这些操作是常用的。

你可以把它看作是容器的专门化。std::vector<char>。为特定用途而设计的并提供了对该类型和用法有用的方法。

这样想,为什么还有std::string ?为什么不使用std::vector<char>当你想要表示字符串?方便简单的

相关文章: