const限定符

本文详细介绍了C++中的const限定符,包括const对象的初始化、const引用的特性、const指针的区别以及constexpr和常量表达式。重点讨论了顶层const和底层const的概念,以及它们在对象拷贝、指针和引用中的应用。
摘要由CSDN通过智能技术生成

const限定符

1.const对象一定要初始化(手工给予初值),初始值可以是任意复杂的表达式;

const int i = get_max();  //运行时初始化
const int j = 4;          //编译时初始化

2.const对象初始化第二种方法,利用一个对象去初始化,则他们是不是const都无关要紧;

int i = 2;
const int ti = i;   //i的值被拷贝给了ci
int k = ti;         //ci的值被拷贝给了k

3.默认状态下,const对象仅在文件内有效。当多个文件中出现了同名的const变量时,其实就等同于在不同文件中分别定义了独立的变量。

但是某些时候const变量的初始值不是一个常量表达式,但又确实有必要在文件间共享。这种情况下我们想让这类const对象像其他(非常量)对象一样工作,即在一个文件中定义const,而在其他多个文件中声明并使用它。解决方法是,对于const变量不管是声明还是定义都添加extern关键字(普通变量只是声明前加extern),这样就不用在每个文中分别定义独立的const变量了。

//file_0.cc定义并初始化了一个常量,该常量能被其他文件访问
extern const int bufSize = fcn();
//file_0.h头文件
extern const int bufSize;//与file_0.cc中定义的bufSize是同一个

file_0.h头文件中的声明也由extern限定,其作用时是指明bufSize并非本文件所独有,它的定义将在其他地方出现。

note:若想在多个文件之间共享const对象,必须在变量的定义和声明之前添加extern关键字。


const的引用

1.把引用绑定在const对象上,称为对常量的引用(reference to const)。与普通引用不同的是,对常量的引用不能被用作修改它所绑定的对象,只有常量引用才能指向常量对象

const int ti = 512; //如果去掉con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值