为什么sizeof(std:string)只有32个字节,却能容纳那么多字符?

刚开始看到 sizeof(std:string)的输出有32个字节,以为只能容纳32个字符,觉得不应该,后来网上也查到能容纳的字符是相当多的。

后来反应过来,string是一个类,用sizeof计算后,得到的其实是string类的成员所占用的字节长度。

举个例子:

编译运行后,其输出结果为16,是因为test是一个类,用sizeof计算,得到其内部成员的字节数,一个int类型占用4个字节,4个int数据就是16字节,因作此解。