C++ const 关键字

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可以更改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容