码迷,mamicode.com
首页 > 其他好文 > 详细

一个FLAG #19# 引入this

时间:2020-04-23 23:28:35      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:amp   表达   成员   lag   code   ati   对象   his   一起   

正文

点运算符 .

例如

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

标签:amp   表达   成员   lag   code   ati   对象   his   一起   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!