• 浅谈const的基本用法


      const可以被用来定义常量,修饰函数的参数,修饰成员函数等。

      先从const的基本用法说起

    1、例如:const int testInt = 10;

    如果在以后的语句在进行testInt的复制操作例如:testInt = 20;则编译会报错误。

    2、指针类型的const的,因为const可以放在“*”号的左边和右边,例如:

    char * test = "hello"

    const  char* p = test或者char * const p = test再或者 char const * p = test;

    这些又有什么区别呢?

    其实很简单如果const在星号的左边那被指的值就是常量,如果const在星号的右边那么指针就是常量,显然如果有两个const分别在星号的左右,那么就表明被指的值和指针本身都是常量。

    3、const在成员函数的作用就是阻止成员函数更改对象的内容还可以用来对const的对象和non-const对象进行不同的处理。

    class Test{
    public:
        int num = 1;
        
        int Test::addNum() const
        {
            ++num;
            return num;
        }
    }

    这样的话编译器会报错,num的值不能改变

    #include <iostream>
    #include <Windows.h>
    using namespace std;
    class Test{
    public:
        int num = 1;
        
        int addNum() const
        {
            cout << "const" << endl;
            return num;
        }
        int addNum()
        {
            cout << "non-const" << endl;
            return num;
        }
    };
    
    int main()
    {
        class Test test;
        test.addNum();
        class Test const ctest;
        ctest.addNum();
        system("pause");
    }

    test对象调用非const版本的函数,ctest对象调用const版本的函数。

    以上就是我对const的基本了解。

  • 相关阅读:
    Linux常用命令学习
    LA 6437 Power Plant (prim最小生成树)
    Atitit.提升稳定性-----分析内存泄漏PermGen OOM跟解决之道...java
    hdu 1248 寒冰王座
    数据结构——算法之(031)(将字符串中全部小写字母排在大写字母的前面)
    X-射线:探索原子世界的利器
    关于sql中的with(nolock)
    Netty In Action中文版
    抓包报文分析
    POJ 1562 Oil Deposits
  • 原文地址:https://www.cnblogs.com/skblog/p/5372967.html
Copyright © 2020-2023  润新知