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;
Run Code Online (Sandbox Code Playgroud)
}
输出:
12
18
0x2508cb0
0x2508cb8
向量不需要处理它,因为字符串处理它.就像std::vector,std::string存储其在动态分配的内存单元.字符不是字符串对象本身的一部分(除了小字符串优化的情况),而是通过指针引用.字符串对象的实际大小在编译时设置,并且对于所有字符串都是相同的(并且可以通过获得sizeof(std::string)),无论字符数是多少.