zoukankan      html  css  js  c++  java
  • const限定符

    1 const的作用

        便于进行类型检查。可以保护被修饰的东西。避免不必要的内存分配。为函数重载提供一个参考。

    2 const成员函数

        const成员函数只能访问数据成员的值,而不能修改他。

    #include <iostream>
    using namespace std;
    
    class Test
    {
    public:
        Test(int x) :x_(x)
        {
    
        }
        void GetX()
        {
            cout << "GetX()" << endl;
        }
        void GetX() const  //const成员函数,并与上边的函数构成重载
        {
            cout << "GetX() const" << endl;
        }
    private:
        int x_;
    };
    int main(void)
    {
        Test t(10);
        t.GetX();//输出GetX(),如果去掉函数GetX(),则输出GetX() const
    
        const Test t1(20);
        t1.GetX();//输出GetX() const;如果去掉GetX() const,会报错
    
        return 0;
    }

        非const对象既可以调用非const成员函数也可以调用const成员函数,优先非const;const对象只能调用const成员函数,不能调用非const成员函数。(很好理解,非const函数很可能会改变对象的成员,但对象是const的,不能被改变)

    3 mutable关键字

        用mutable修饰的数据成员可以被const成员函数或const对象修改。

  • 相关阅读:
    改动EditPlus默认模板
    【Unity3D自学记录】利用代码改动图片属性(Inspector)
    OpenCV两张图片的合并
    HDU 1661 Assigments 贪心法题解
    2016第10周四
    CSS预处理器Sass(Scss)、Less、Stylus
    gulp入门
    2016第10周一
    8个方法让你成为更优秀的程序员
    2016第9周六
  • 原文地址:https://www.cnblogs.com/lulu10922/p/5803419.html
Copyright © 2011-2022 走看看