顾明伟

时间的脚步不停歇

【C++基础】——const关键字

本文介绍C++中的关键字const

const用来控制C++中的变量是否可以变化

  1. const与基本数据类型
  2. const与指针类型
  3. const与引用
1.const与基本数据类型

int a=2;//变量
//变量名: a
//存储地址:&a
//存储内容:2
加上const之后,变量就变成了常量

const int a=2;//常量
//变量名:a
//存储地址:&a
//存储内容:2

2.const与指针类型

数据类型前面加const和后面加const完全等价

const int *p=NULL;//const写在数据类型前面   这两种写法完全等价
int const *p=NULL;//const写在数据类型后面
* 后面加const
int *const p=NULL;

数据类型前面* 后面,和数据类型后面*后面完全等价

const int *const p=NULL;     这两种完全等价
int const *const p=NULL;


Example:

int a=3,b=4;
const int *p=&a;
p=&b;//允许执行
*p=5;//不允许执行,const修饰*p,*p的值不能被修改
变量名           存储地址           存储内容

a                      &a                      3

p                      &p                     &a

Example:

int a=2,b=3;
int *const p=&a;
p=&b;//不允许,const在*的后面,意味着修饰p,p只能指向一个地址,不能被修改,用p再指向其他的地址时会报错。

变量名           存储地址           存储内容

a                      &a                      2

p                      &p                     &a(被修饰,不能被修改)


Example:

int a=4,b=5;
const int *const p=&a;
p=&b;//不允许
*p=6;//不允许,前后都加了const时,p,*p都不能被修改

变量名           存储地址           存储内容

a                      &a                      4(被修饰,不能被修改

p                      &p                     &a(被修饰,不能被修改


3.const与引用Example:

int a=3;
const int &b=a;
x=4;//允许
b=5;//不允许,b作为a的别名,前面嫁了修饰符const,b不能被修改







阅读更多
版权声明:本文是博主原创文章,未经博主允许的情况下请勿随便转载。顾明伟 http://blog.csdn.net/u013045971 https://blog.csdn.net/u013045971/article/details/46810423
文章标签: C++ C++ const
个人分类: C/C++
想对作者说点什么? 我来说一句

C++const关键字详解

2012年04月20日 280KB 下载

C++const关键字详解

2012年04月20日 147KB 下载

const 用法

2013年12月05日 33KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭