zoukankan      html  css  js  c++  java
  • 2.4 const限定符

    #因为const对象一旦创建后其值就不能被改变,因此const对象必须初始化

    默认状态下,const对象仅在文件内有效.....

    #编译器会在编译过程把用到const变量的地方替换成起对应的值

    #如果我们想要只在一个文件中定义const对象,而在多个文件中使用它(多文件间共享const对象)

    解决办法是:对于const变量不管是在定义还是声明都添加extern关键字,这样只需定义一次即可

    2.4.1 const的引用(常量引用)

    初始化和const的引用

    对const的引用可以引用一个非const的对象(常量引用对象的值不能被改变,但并不代表常量引用所引用对象的值是不能被改变的)

    2.4.2 指针和const

    想要存放常量对象的地址,只能使用指向常量的指针

    和常量引用一样,指向常量的指针也没有规定其所指向的对象必须是一个常量

    const指针(常量指针)

    常量指针必须初始化,并且一旦赋值后,其值就不能再改变(也就是存放在指针中的地址不能改变)

     把*放在const关键字之前,说明指针是一个常量

    2.4.3 顶层const

    顶层const:表示指针是一个常量(即常量指针)

    底层const:表示指针指向的值是一个常量

     

    2.4.4 constexpr和常量表达式

    常量表达式:是指值不会改变并且能够在编译时计算出结果的表达式

    constexpr变量

    C++11标准规定,允许将变量声明为constexpr类型以便编译器验证变量是否是一个常量表达式

    声明为constexpr的变量一定是常量,并且必须使用常量表达式进行初始化

    字面值类型

    指针和constexpr

  • 相关阅读:
    IE浏览器不能启动,双击启动图标无效
    提示Internet Explorer 9 已安装在此系统上,无法完成安装
    React项目跨域处理(两种方案)
    Mock数据模拟Node服务器
    【LeetCode】15. 3Sum
    【C++】int与string互转
    【LeetCode】37. Sudoku Solver
    【LeetCode】149. Max Points on a Line
    【LeetCode】104. Maximum Depth of Binary Tree (2 solutions)
    【LeetCode】140. Word Break II
  • 原文地址:https://www.cnblogs.com/IAMSailorMoon/p/9963647.html
Copyright © 2011-2022 走看看