C++this指针怎么理解
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,C++this指针怎么理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。还是Stock股票这个类,假设我们要实现一个方法,比较一下当前股
千家信息网最后更新 2026年11月04日C++this指针怎么理解
C++this指针怎么理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
还是Stock股票这个类,假设我们要实现一个方法,比较一下当前股票和传入的股票, 返回价格高的那个股票。在我们实现的时候,会遇到一点问题。
const Stock & Stock::topVal(const Stock &s) const { if (s.total_val > total_val) { return s; }else { return ????; }}这段代码当中有一些问题,我们一个一个来说。
首先说函数签名,前面都没有问题,问题出现在签名末尾的const。这是我们第一次在函数的末尾看到const,这个用法只能用在类或结构体的成员函数中,而不能用在普通函数里。
它表示这个函数不会修改任何成员变量的值,末尾加上const的函数称为常量成员函数。
常量函数有一些特殊的性质:
能被任何函数调用,只能调用常量函数
能被任何对象调用,但const对象只能调用const函数
性质不是非常复杂,但有些像是绕口令,需要从const常量的性质角度出发理解一下。
代码当中第二个问题就是一堆问号的地方,这里我们想要return当前对象,但是我们不知道如何表示。为了解决这个问题,C++当中创建了一个特殊的指针叫做this,它用来指向调用成员函数的对象,也就是当前对象。
所以有了this之后,这段代码可以写成:
const Stock & Stock::topVal(const Stock &s) const { if (s.total_val > total_val) { return s; }else { return *this }}另外,this指针也可以拿来访问当前对象当中的成员变量,比如我们想要访问当前的total_val,可以写成this->total_val,我们直接用total_val本质上是一样的,是编译器替我们做了优化。
看完上述内容,你们掌握C++this指针怎么理解的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
函数
问题
对象
成员
指针
常量
股票
代码
性质
方法
末尾
特殊
内容
变量
更多
复杂
普通
束手无策
为此
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有格互联网科技
山东特亿宝互联网科技有限公司
广州百单互联网科技有限公司
互联网巨头科技公司
西安互联网科技
互联网科技媒体
南京欣网互联网科技
上海万想互联网科技
互联网科技汛
甘肃拓世互联网科技有限公司
华服互联网科技官网
华夏互联网科技业
和信科技工业互联网
济南有互联网科技公司吗
区块链结合互联网科技
科技互联网海报
互联网科技圈年度人物
小米互联网科技园入驻
容联科技互联网电商
广州全民伙伴互联网科技有限公司
互联网与科技
互联网最新的科技
碳银互联网科技
广州宏创互联网科技
云电互联网科技
新浪科技互联网
广州紫鲸互联网科技
大白互联网科技
广州优美互联网科技
长沙易易互联网科技有限公司