C++: 关于const

关于const

1、通常使用const修饰符号限定变量,使得其不能被更改。因此,const对象在创建时必须初始化。

2、#注意:对于位于任何函数外部的内置类型,使用const修饰后不能执行默认初始化,但类类型被const修饰后能够正常执行默认初始化。#

3、const类型的对象受到的限制就是不能执行改变内容的操作。

4、默认情况下,const对象仅在当前文件中有效。如果需要在其他文件有效,可以使用extern关键字。

5、对常量的引用(reference to const):

1)初始化常量引用时允许任意的表达式作为初始值,甚至允许其绑定非常量的对象、字面值和表达式。

2)常量引用仅仅限制了不能使用该引用来改变其绑定的对象,但并不妨碍通过其他方式改变这个对象。

6、指向常量的指针(pointer to const):类似于常量引用,想要存放常量的地址只能使用指向常量的指针。

7、常量指针(const pointer):指针本身是对象,可以设为常量。

8、顶层const表示其修饰的对象不可改变,其变量类型可以任何类型;而底层const表示其所修饰的对象可以通过其他方式改变,其变量类型常为复合类型。

9、在执行对象的拷贝时,顶层const基本不影响,但底层const必须相同或者能够相互转换。

10、常量表达式是指不会改变并且在#编译过程#(常量可以在运行时初始化)中就能得到计算结果的表达式。

11、声明为constexpr的变量一定是一个常量,且必须用常量表达式初始化。

12、constexpr声明中如果定义了一个指针,限定符只对该指针起作用,也就是常量指针,类似于顶层const。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值