首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

const成员函数回来this的小疑问

2012-08-11 
const成员函数返回this的小疑问!C++ primer中讲到:不能从const成员函数中返回指向类对象的普通引用,const

const成员函数返回this的小疑问!
C++ primer中讲到:不能从const成员函数中返回指向类对象的普通引用,const成员函数只能返回*this作为一个const引用。如类Em中函数:
 

C/C++ code
Em &func(Em &em)const{     ......    return *this;}
const的作用是在此函数中不能改变em的成员,而非声明此函数的返回类型是否有const修饰,此函数返回的是一个普通引用,那为什么说const成员函数返回的是const引用!
  应该是这种函数返回的才是const引用。
C/C++ code
const Em &func(Em &em)const{     ......    return *this;}


[解决办法]
const 修饰的是 this指针.

const 成员函数的this指针类型是 const Em *

非const 成员函数的 this指针类型是 Em*


=====
非标准说法.但是通用.
[解决办法]
this本来就是个参数

热点排行