2

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

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

请注意,返回值不是迭代器。那么 std::string 是这样的,除了明显之外,还有一些“合法”的原因吗:委员会做了一个 bubu,字符串坏了......

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

4

1 回答 1

1

是的。

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

相反,您可以将其视为容器的专业化。std::vector<char>. 专为特定用途而设计。并提供对该类型和用途有用的方法。

这样想,为什么std::string呢?std::vector<char>当你想表示字符串时为什么不使用?简直方便

于 2013-04-30T17:02:53.497 回答