返回信息流定义了 string a = "abcdef"; 用sizeof(a.c_str())得到的结果居然是4,也就是说取的是string类的sizeof(string),后来试了一下用strlen(a.c_str()),得到了6,这个没问题,为什么用sizeof就不行呢?
这是一条镜像帖。来源:北邮人论坛 / cpp / #14305同步于 2008/10/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请问关于string的sizeof问题
BTW
2008/10/18镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
a.c_str()
返回的是char*
sizeof(char*)=4;
【 在 BTW (BTW) 的大作中提到: 】
: 定义了 string a = "abcdef"; 用sizeof(a.c_str())得到的结果居然是4,也就是说取的是string类的sizeof(string),后来试了一下用strlen(a.c_str()),得到了6,这个没问题,为什么用sizeof就不行呢?
【 在 BTW 的大作中提到: 】
: 定义了 string a = "abcdef"; 用sizeof(a.c_str())得到的结果居然是4,也就是说取的是string类的sizeof(string),后来试了一下用strlen(a.c_str()),得到了6,这个没问题,为什么用sizeof就不行呢?
sizeof(string)是string对象的大小吧,string 保存的是字符串指针啊,V6里面sizeof(string)=16?
05里面是28吧,可以debug都有哪些成员啊