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

本文探讨了C++中const修饰符与this指针的使用技巧,通过具体示例展示了如何利用const限定符和this指针来实现高效且安全的对象比较函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设我们现在要比较两个对象之间某个值的大小,从效率上考虑,可以按照引用来传递参数,于是我们就可以和之前的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;//此处返回的是调用对象本身

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值