关于string类型和字符串字面值的一个小问题
学习C++ Primer时看到书上说的一句话“字符串字面值与标准库string类型不是同一种类型”,有点疑惑,所以自己测试了一下。
如果定义 string s("Hello,world!");
然后输出sizeof s,结果是28
直接输出sizeof "Hello,world"结果是13
第二个结果我能理解,第一个为什么是28呢?
新手提问,要是有违规的地方还请多多包涵,提前谢过解惑的大神!
[解决办法]
你sizeof s是对这个s对象进行求它所在字节,也就是对string求所占字节数,与你的字符串所占字节数无关
[解决办法]
string 是一个类,知道不?
[解决办法]
string的成员中有个指针,它指向的内存才是真正放“字符串”的。