【发布时间】:2021-03-23 16:25:19
【问题描述】:
那么主要区别是什么?在哪些情况下会用到它们?
【问题讨论】:
-
我看不出 std::vector 有什么用处
-
@vBx 现在你看到stackoverflow.com/questions/4761529/…
-
它们是不同的容器。它们可能有很多相似之处,但仅此而已。尝试调用
std::vector<char>对象的c_str()成员。 -
在内部它们都是
chars 的动态数组,但是它们的界面是完全不同的。看看en.cppreference.com/w/cpp/string/basic_string 和en.cppreference.com/w/cpp/container/vector。 -
string在向量末尾保留一个额外的字节,该字节始终设置为 0。当您调用size()时,它不包括该字节。但是,它存在于c_str()运算符中,因此它不必在每次调用 c_str 时复制数据。
标签: c++