欢迎光临散文网 会员登陆 & 注册

C++ Primer学习笔记——const

2023-01-04 21:34 作者:_任逍遥  | 我要投稿

const的作用简单的来讲就是说明它是个常量,无法被修改

  • const是一种限定符,用于修饰变量,使变量无法被修改,意味着将该变量定义为常量。在程序当中,任何试图修改该变量的值的语句都是非法行为,编译器会报错,操作const变量时,其用途是只能用于读取const变量的值。

  • const变量必须被初始化,用于初始化的值可以是左值,也可以是右值。

  • 编译器在编译过程中,会把所有用到const变量的地方全部替换成const变量的值。因此编译器必须知道const变量的值,这也是为什么const变量必须被初始化的原因。const对象用于多个文件时,可以通过extern的方式来对const对象声明,然后在.cpp中给const变量进行定义即可。

const的引用

  • 使用const引用所绑定的变量的值是无法被改变的。(这句话可能很拗口不好理解)

  • const引用并不是说必须要绑定const变量,它可以绑定任何变量(被绑定的类型和const引用类型要一致,或者被绑定的类型可以隐式转换成const引用的类型),左值和右值都可以。

指针和const

  • 指向常量的指针用于存放常量对象的地址

  • 常量指针

  • const之间的拷贝只需要记住一句话即可:非常量可以转化成常量,反之不行

这也是为什么很多C++的函数形参喜欢使用const引用的原因之一,因为const引用可以“通吃”常量,非常量以及字面值。

  • constexpr作为C++11的新标准,其实up主看书也没有玩明白constexpr,所以这里暂时不进行讲解,等后续搞懂后在进行补充。

pixiv画师:Hiten


C++ Primer学习笔记——const的评论 (共 条)

分享到微博请遵守国家法律