C++:const限定符基本解析

相对于#define,C++有一种更好的方法来处理符号常量,就是使用const限定符来修改一个变量的声明和初始化

例如:

const int sum = 100;那么我们就可以在程序中使用sum,而不是100了,常量(如:sum)在初始化以后其值就固定了下来,编译器就不允许再修改其值。因为const限定了声明的定义。


创建常量的通用格式:

const type name = value;

注意:如果要使用const,就要在声明的时候对其进行初始化,下面的代码是wrong的:

const int sum;
sum  = 100;

要记住的是:

这种方式是错误的。如果在声明常量时没有提供值,则该常量的值是不确定的,而且无法修改。


const相对于#define来说:

const是有好处的.

1.它能够明确指定类型.

2,可以使用C++的作用域规则将定义限制在特定的函数或者文件中。

3.可以将cont用于比较复杂的类型。


先学习C++之后要使用const来定义符号常量,而不是#define


一:默认状态下const只在本文件内有效。

例如:const int size = 100;

编译器在编译过程中将用到该变量的地方都替换为对应的值,就是说编译器会找扫代码中所有用到的size,然后替换为100;

这种规定是因为:

为了执行上述的替换编译器必须知道变量的初始值,如果程序包含多个文件则每个用了const对象的文件都必须能访问到它的初始值才行,要做到这点,,就必须在每一个用到变量的文件中都有对它的定义,为了支持这一用法,同时也为了避免重复的定义,默认情况下const对象被设定为本文件内有效,当多个文件出现了同名的const变量时,等同于在不同文件中分别定义了独立 的变量,如果要实现多文件公用,解决办法:在定义前加extern;

本文件

: extern const int size = 100;

其他文件:

extern const int size;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值