一个FLAG #19# 引入this

正文

点运算符 .

例如

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 结合解引用和成员访问操作

猜你喜欢

转载自www.cnblogs.com/xkxf/p/12761832.html
今日推荐