转自:https://blog.csdn.net/DLUTBruceZhang/article/details/9822235
1.例子
int main(){ string s="abc"; cout<<sizeof(s)<<"\n"; cout<<sizeof(string)<<"\n"; vector<string> a={"12","34","56"}; cout<<sizeof(a)<<"\n"; cout<<sizeof(a[0])<<"\n"; cout<<endl; return 0; } #输出结果 32 32 24 32
string占32个字节,不论赋值与否。不同库中占用大小可能不同,也有4字节、12、28、32字节的。
无论你的string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的,与sizeof()无关。我们所用到的 string 类型一般都会是这样实现:
class { char *_Ptr; //指向字符串的指针 int _Len; //字符串的长度 ........ };
标签:字节,占用,cout,内存大小,C++,字符串,string From: https://www.cnblogs.com/BlueBlueSea/p/17054071.html