zoukankan      html  css  js  c++  java
  • 浅谈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的基本了解。

  • 相关阅读:
    JSON基础知识
    Java 环境配置
    接口测试基础知识
    Fiddler初学笔记
    es6数组方法findIndex()
    sass+less相关
    前端库/框架/插件相关
    知名博主相关
    CSS相关
    移动Web相关
  • 原文地址:https://www.cnblogs.com/skblog/p/5372967.html
Copyright © 2011-2022 走看看