首页 > 其他 > 详细

一个FLAG #19# 引入this

时间:2020-04-23 23:19:50      阅读:93      评论:0      收藏:0      [点我收藏+]

正文

点运算符 .

例如

item.isbn()

只用于类类型对象。左侧运算对象必须是一个类类型的对象。右侧必须是该类型对象的一个成员名。运算结果是右侧对象指定的成员。

箭头运算符号 ->

例如

(*it).empty();

是先对it解引用,然后解引用的的结果再执行点运算符。

箭头运算符是对上述表达式的简化,它将解引用和成员访问两个操作结合在一起。也就是说

it->empty()

和上面的表达式的意思相同。

引入this

当我们调用一个成员函数时,用请求该函数的对象地址初始化this。例如,调用

total.isbn()

实际上等价于

Sales_data::isbn(&total); // 伪代码

当成员函数内部使用bookNo实际上相当于书写了this->bookNo一样。(也就是书写了(*this).bookNo

默认情况下,this的类型是Sales_data *const

 

参考

[1] c++ primer, 5e 第7.1.2节 引入this

[2] c++ primer, 5e P98 结合解引用和成员访问操作

 

一个FLAG #19# 引入this

原文:https://www.cnblogs.com/xkxf/p/12761832.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!