为什么sizeof(std:string)只有32个字节,却能容纳那么多字符?
刚开始看到 sizeof(std:string)的输出有32个字节,以为只能容纳32个字符,觉得不应该,后来网上也查到能容纳的字符是相当多的。
后来反应过来,string是一个类,用sizeof计算后,得到的其实是string类的成员所占用的字节长度。
举个例子:
编译运行后,其输出结果为16,是因为test是一个类,用sizeof计算,得到其内部成员的字节数,一个int类型占用4个字节,4个int数据就是16字节,因作此解。
