int main() {
vector<string> test;
test.push_back("tes3235235et");
test.push_back("135125151241241241");
cout << test[0].capacity() << endl;
cout << test[1].capacity() << endl;
cout << &(test[0]) << endl;
cout << &(test[1]) << endl;
return 0;
}
输出:
12
18个
0x2508cb0
0x2508cb8
答案 0 :(得分:5)
向量不需要处理它,因为字符串处理它。就像std::vector
一样,std::string
将其元素存储在动态分配的内存中。字符不是字符串对象本身的一部分(除了小字符串优化的情况),而是通过指针引用。字符串对象的实际大小在编译时设置,并且对于所有字符串都是相同的(并且可以通过sizeof(std::string)
获得),无论字符数是多少。