转自:https://blog.csdn.net/DLUTBruceZhang/article/details/9822235

1.例子

int main(){

string s="abc";

cout<

cout<

vector a={"12","34","56"};

cout<

cout<

cout<

return 0;

}

#输出结果

32

32

24

32

string占32个字节,不论赋值与否。不同库中占用大小可能不同,也有4字节、12、28、32字节的。

无论你的string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的,与sizeof()无关。我们所用到的 string 类型一般都会是这样实现:

class

{

char *_Ptr; //指向字符串的指针

int _Len; //字符串的长度

........

};