栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++】基础 | 常量const

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++】基础 | 常量const

关于C++ const 的全面总结

C++ const 和 constexpr 的区别?

  • 常量必须初始化,一旦初始化后就不能被修改

普通常量
    //普通常量定义,必须初始化
    int const a1 = 100;
    const int a2 = 100;

    //const | cnstexpr
    //const --- 只保证运行时不被修改 可以在运行后再初始化
    //constexpr --- 编译期即可算出来 必须编译时就初始化
    const int i = 10;
    int j = 20;
    const int j1 = j + 10;
    // constexpr int j2 = i+10; // 正确
    // constexpr int j2 = j+10; //错误 j是变量
常量指针
    int *const p1 = &x;         //指针本身是常量,为顶层const
    const int *p2;              //指针指向的内容是常量,为底层const
    const int *const p3 = &xc; //两者都是常量
    
    *p1 = 5;                   //顶层const,指针地址不能改,但是值可以改
    cout << *p1 << endl;
    // *p2=6;                  //错误,底层const 指针指向的内容不可改
    p2=p3;                     //正确
常量引用
    int y =9;
    const int &yr = y;
    y = 10;
    // yr = 10;  //错误,yr为const引用,不可以通过它修改对应的变量y

C++的常量引用有啥用

    //const引用可以用常量初始化,普通引用不能
    const int &f = 10;
    // int &ff = 10; error
    
  	//有啥卵用?---- 函数有时需要临时对象  
    //如:fun(int &a)  fun(1)× -----> fun(const int &a)  fun(1)√
类与对象

【C++】类与对象 | 常对象与常对象成员

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330881.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号