Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我一直想知道为什么字符串方法与其他容器的方法不同,例如 std::map ......我的意思是一个例子:
size_t find (char c, size_t pos = 0) const
请注意,返回值不是迭代器。那么 std::string 是这样的,除了明显之外,还有一些“合法”的原因吗:委员会做了一个 bubu,字符串坏了......
顺便说一句,我知道有些人不考虑 STL 的字符串部分,您可以假装我问为什么字符串与 std 中的容器不同?
是的。
因为 std::string 不是容器并且这些操作是常用的。
相反,您可以将其视为容器的专业化。std::vector<char>. 专为特定用途而设计。并提供对该类型和用途有用的方法。
std::vector<char>
这样想,为什么std::string呢?std::vector<char>当你想表示字符串时为什么不使用?简直方便。
std::string