关闭

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

标签: C++C++ const
628人阅读 评论(0) 收藏 举报
分类:

本文介绍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不能被修改







0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
      • 访问:2148823次
      • 积分:6155
      • 等级:
      • 排名:第1666名
      • 原创:95篇
      • 转载:1篇
      • 译文:5篇
      • 评论:468条
    HomePage
    博客专栏
    最新评论