关于
C++ const
的全面总结
C/C++ 开发(7)
版权声明:本文为博主原创文章,未经博主允许不得转载。
C++中的 const 关键字的用法非常灵活,而使用 const 将大大改善程序的健壮性,
本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。
Const是 C++中常用的类型修饰符,常类型是指使用类型修饰符 const 说明的类
型,常类型的变量或对象的值是不能被更新的。
一、Const 作用
如下表所示:
N
o.
作用 说明 参考代码
1
可以定义
const 常量
const int Max = 100;
2
便于进行类型
检查
const 常量有数据
类型,而宏常量没
有数据类型。编译
器可以对前者进行
类型安全检查,而
对后者只进行字符
替换,没有类型安
全检查,并且在字
符替换时可能会产
生意料不到的错误
void f(const int i) { .........}
//对传入的参数进行类型检查,不匹配进行提示
3
可以保护被修
饰的东西
防止意外的修改,
增强程序的健壮
性。
void f(const int i) { i=10;//error! }
//如果在函数体内修改了 i,编译器就会报错
4
可以很方便地
进行参数的调
整和修改
同宏定义一样,可
以做到不变则已,
一变都变
5
为函数重载提
供了一个参考
class A
{
......
void f(int i){......}//一个函数
void f(int i) const {......}//上一个函数的重载
......
};
6
可以节省空
间,避免不必
要的内存分配
const 定义常量从
汇编的角度来看,
只是给出了对应的
内存地址,而不是
象#de'ne 一样给
#de'ne PI 3.14159//常量宏
const doulbePi=3.14159;//此时并未将 Pi 放入 ROM
中
......
double i=Pi;//此时为 Pi 分配内存,以后不再分配!