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

在类成员函数后面加const

时间:2016-06-02 11:25:02      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

在看开源代码时,经常会看到在类的成员函数后面加const,之前了没有太关注过,近来闲来无事,就想起这件事,网上查了一下,大概明白了是怎么回事,这里引用CSDN愽文里的段话:“编译器会自动给每一个函数加一个this指针。在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外)。实际上,也就是对这个this指针加上了const修饰”。举个例子:

class test

{

public:

  test(int a=10):aa(a){}

  ~test(){}

 

  int getA() const {aa++,bb++;return aa}

 

private:

  int aa;

  mutable int bb;

};

int main()

{

  test t(100);

  int cc = t.getA();

};

这里编译器会报错, C2166: 左值指定 const 对象,getA()函数不能执行aa++操作,但执行bb++是可以的。

在类成员函数后面加const

标签:

原文地址:http://www.cnblogs.com/zhangnianyong/p/5552136.html

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