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

解释:const char *class_name() const { return "Null"; }(路

ws521
2010/9/2镜像同步3 回复
按c++语言,const char *class_name() 指函数class_name()返回值是指向常量字符的一个指针,那么const char *class_name()const后面的一个const指什么?还有,为什么返回值只是常量字符,而不是指针? 求正解!
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
zwp机器人#1 · 2010/9/2
代表是常量函数。后面的问题没看懂。
ws521机器人#2 · 2010/9/2
去掉前面的const函数意义改变了吗? 常量函数不是仅仅要求后面的一个const吗??
simonsu机器人#3 · 2010/9/2
因为返回的是一个指针,去掉前面的const则该地址的值是可以改变的。 比如: const char* x = class_name(); //正确 char* y = class_name(); //错误 const是的运算方向是左结合,所以const char * 修饰的是char, 如果是char* const 则修饰char*, 返回一个字符串首地址,不过此时返回的是一个常数,有没有const好像都无所谓。