C++this指针怎么理解
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,C++this指针怎么理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。还是Stock股票这个类,假设我们要实现一个方法,比较一下当前股
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
网络安全定级专家评审
奥汀crm需要加数据库吗
汽车ecu软件开发工具
郓城软件开发初级教材在线学习
网络安全领域的认证考试
贵州国安网络技术有限公司
软件开发完怎么交给客户
周口市网络安全进社区宣讲活动
北京师范大学 外文数据库
网络安全管理方式运用
家庭低功耗服务器组装
sqlplus-s连接数据库
计算机网络技术用考证吗
关系型数据库哲学
信息数据库完善意义
qc归属地软件数据库
系统服务器时间怎么改
网络安全年度工作总结银行
三大网络存储数据库
浙江发展软件开发概念设计
定西市网络安全局
服务器电脑可不可以做家用电脑
靠谱的生产管理软件开发定制
sqlplus-s连接数据库
网络安全日常防护
软件开发实习的目标
山东远遁网络技术
校园网络安全国内外发展
河南真二互联网科技有限公
中石化网络安全专项检查