zoukankan      html  css  js  c++  java
  • 在类成员函数后面加const

    在看开源代码时,经常会看到在类的成员函数后面加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++是可以的。

  • 相关阅读:
    JAVA基础学习(7)之函数
    人与神话阅读笔记03
    学习进度八
    人月神话阅读笔记02
    NABCD原则
    人月神话阅读笔记01
    学习进度七
    学习进度六
    梦断代码阅读笔记03
    地铁系统初步思路
  • 原文地址:https://www.cnblogs.com/zhangnianyong/p/5552136.html
Copyright © 2011-2022 走看看