string类仅有一个数据成员,char*指针,故string类的大小和指针相似,在64位的运行环境下占8个字节,在32位的运行环境下占4个字节
代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a="12345678910";
cout<<sizeof(string)<<endl;
cout<<sizeof(a)<<endl;
}
64位结果:
8
8
32位结果:
4
4
不同的c++版本string类的实现有所不同,结果会有所不同,有的28有的32,其实结论只有一个,string类的大小是固定的,不会随着字符串变化而变化