C++primer plus——this 指针的故事

假设我们现在要比较两个对象之间某个值的大小,从效率上考虑,可以按照引用来传递参数,于是我们就可以和之前的const联系在一起

const stock & top(const stock &s)const ;

注:第一个const表示返回类型为const的引用,括号里的const表示显示访问对象s时,不能修改对象s中的内容,最后一个const表示隐式访问top对象是,不得修改top对象中的内容,

所以C++中解决该问题的方法是使用this指针,this指针指向调用成员函数的对象,调用相应成员函数时,将this设置为对象的地址,一般来说,所有类方法都将this指针设置为调用它的对象的地址

每个成员函数(包括构造函数和析构函数)都有一个this指针,this指针指向调用对象,如果方法需要调用整个对象,使用表达式*this,括号后的const限定符将this限定为const,这样不能使用this来修改对象的值

返回类型为引用意味着返回的是调用对象本身

如:

const stock & stock::topval(const stock &s) const

{

if(s.total > total)

    return s;

else

   return *this;//此处返回的是调用对象本身

}

猜你喜欢

转载自blog.csdn.net/A963457200/article/details/81912466
今日推荐