首页 > 其他 > 详细

函数被const修饰,const修饰的究竟是谁?

时间:2020-02-01 22:37:00      阅读:82      评论:0      收藏:0      [点我收藏+]

const修饰,意味着不可更改,即只读。那么const修饰函数时,是谁不可更改?是形参吗?

其实本质上,const修饰的是函数隐含的this指针,this所指向的内存空间不可更改。如下案例中属性x,y不可更改,形参a,b可更改。因为形参在函数被调用时才分配内存。

class Test
{
    void Func(int a,int b) const { ... }  //void Func(const Test* this,int a,int b) const { ... }
private:
  int x;
  int y;
}

 

函数被const修饰,const修饰的究竟是谁?

原文:https://www.cnblogs.com/xixixing/p/12250437.html

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