当前位置:   article > 正文

【C++】const成员 | 取地址运算符重载_为什么const取地址操作符重载要加两个const

为什么const取地址操作符重载要加两个const

目录

Ⅰ. const成员

两种const

const成员函数

Ⅱ. 取地址运算符重载

引入

普通对象取地址

const对象取地址

什么时候要手动实现operator& ?


Ⅰ. const成员

两种const

我们知道,用const修饰 能起到保护,使之不被修改的作用。

修饰指针的const有两种位置:

我们学过的this指针,就被后者所修饰,因此无法被修改。

const成员函数

➡️为了保护函数里的成员,使不被修改,C++引入了const成员函数。

“const成员函数” ,就是被const修饰的成员函数。

const的存在,使我们不能对任何成员进行修改。

➡️它长这样:

  1. void Date::Print() const
  2. {
  3.   ……
  4. }

这个函数相当于:

  1. void Date::Print(const Date* const this)
  2. {
  3.   ……
  4. }

❗注意:前后两个const的意义是不一样的。

前者修饰*this,保护 this指向的空间的内容 不被修改。

后者修饰this,保护this指针不被修改。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/838210
推荐阅读
相关标签