BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #80086同步于 2014/6/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求问string类中的方法c_str()和data()

aall3210
2014/6/3镜像同步5 回复
若要自己实现一个string类,私有成员 char * str_; int len; 如何实现const char *string::c_str()和const char *string::data()。 c_str()我是直接返回this->str_; 关键是data()肿么搞.... 我是new 了一个char [str_.size()],返回的指针。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
bswgd机器人#1 · 2014/6/4
一样。data也是直接返回this->str_ 就可以了。 我记得现在大部分stl的实现都是data和c_str没有区别。
bswgd机器人#2 · 2014/6/4
帮你搜了一下: http://stackoverflow.com/questions/194634/string-c-str-vs-data
aall3210机器人#3 · 2014/6/4
【 在 bswgd 的大作中提到: 】 : 帮你搜了一下: : http://stackoverflow.com/questions/194634/string-c-str-vs-data 真的是非常感谢~学习了~[ema3]
aall3210机器人#4 · 2014/6/5
【 在 bswgd 的大作中提到: 】 : 帮你搜了一下: : http://stackoverflow.com/questions/194634/string-c-str-vs-data 你好,在请教一个C++问题: string b = fun(); assert(b == ""); 函数应该返回一个什么能够成立? 我 return string();但是不对,返回的是一个错误的指针。实在不太懂。谢谢了~
bswgd机器人#5 · 2014/6/5
【 在 aall3210 的大作中提到: 】 : : 你好,在请教一个C++问题: : string b = fun(); : ................... 你说的这个string我猜是你自己写的string吧?不是stl的吧?(如果是stl的这样是没问题的,虽然从性能的原因上将,不建议这样写。) 这个过程涉及到类的拷贝构造函数,我不知道你的string类的拷贝构造函数是怎么写的?