zoukankan      html  css  js  c++  java
  • C++ const关键词

    const可以看做是弥补#define的不足而出现的。显然它的功能已经大大超过了#define。

    const可使用与变量与函数还有指针,引用,其实质都是一样“使不改变”。

    const用于变量与对象:

    const int test = 1;//用于普通变量,相当于#define test 1
                //这样,test就是常量了,并且与#define相比,它可以参加逻辑运算。

    //用于类对象 class A { public: int num; }; int main() { const A testA; testA.num = 1;//报错,const对象不能修改 return 0; }

    const用于函数:

    class A
    {
      int num;
      int add(int elem) const;
    };
    
    int A::add(int elem) const
    {
      elem++;
      return elem;
    }

    上面代码编译会报错,因为用const修饰的函数修改了成员数据。

     const用于指针,引用:

    //普通的引用与指针传递,可以修改传入的数据
    void testf(string &a);
    void testg(string *a);
    
    //我们知道传递引用和指针可以用来修该数据,但是某些时候,我们并不希望程序修改源数据,同时,值传递花费太大。这时,我们可以使用const传递
    
    //const引用于指针传递,不可以修改传入的数据
    void testf(const string &a);
    void testg(const string *a);

    【还有很多遗漏的地方,待完善】

  • 相关阅读:
    《Google 软件测试之道》摘录
    UIRecorder环境搭建及录制实现
    网易《人性的哲学与科学》笔记
    网易《公正:该如何做是好?》笔记(不定时更新)
    自助饮料机实现
    网易《社会心理学》笔记(不定时更新)
    uiautomator +python 安卓UI自动化尝试
    doc
    doc
    doc
  • 原文地址:https://www.cnblogs.com/CAION/p/2832831.html
Copyright © 2011-2022 走看看