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类的大小是固定的,不会随着字符串变化而变化

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐