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对象修改。

  • 相关阅读:
    一个故事讲清NIO
    select()/poll() 的内核实现
    一个滑块验证破解网站并带例子
    第7章 数据清洗和准备
    关系检验
    数据分析常用的方法总结
    python数据清洗
    描述性绘图
    pandas常用方法总结
    各种windows软件下载
  • 原文地址:https://www.cnblogs.com/lulu10922/p/5803419.html
Copyright © 2011-2022 走看看