C++ const 关键字

2017-07-26  本文已影响29人  阳光男孩joe

C++有两种第一常量方式:#define  const;

两种方式区别:1.宏定义是字符替换,没有类型检查。const会在编译阶段进行类型检查。

2.宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期;const常量是一个"运行时"概念,在程序运行使用,类似于一个只读行数据;

3.宏定义不分配内存,const分配内存空间。

4.定义域不同,宏定义不受定义域限制。

5.是否可做函数参数,宏定义不能做函数参数。

const与基本数据类型:

const int x=3; x不可以更改。

const与指针类型:

const int *p=NULL;   int const *p=NULL;  *p不可以更改。

int *const p=NULL;  p 不可更改。

const int x=3; const int *const p=&x;   内容和地址都不能更改。

const与引用

int x=3;

const int &z=x;  z 不能更改,x可以更改。

上一篇下一篇

猜你喜欢

热点阅读