控制变化的const

1)与基本数据数据类型:

const int x= 1;

2)与指针数据类型:

首先要明确如何定义一个指针类型的变量:

int a=1;

int *b=&a; 、、这就是定义一个指向a地址的指针,* 这个符号在 定义变量时出现表示这个是指针变量。

其中& 符号是取地址符。

1.

const int *p=&a;等价于 int const *p=&a;       const 修饰的是  ! (*p)!不能通过(*p)来修改p指向的变量的值。

但是p可以指向一个新的地址。

2.

int * const p=&a;此时const修饰的p,也就是说不能改变p指向的地址 

3.

const int *const p    const在指针的前面和后面 表示 p不能在指向其他的地址,也不能在通过在指针来修改指针指向的变量的值。

4)与引用

const int &y=a;  现将y作为a的引用 然后将用const对引用进行修改,这就表示 y不能变化了a是多少y就是多少,  可以通过a修改他的值但是不能通过y修改他的值就是说y的值是固定的了。

 

5)示例

1

2

3对比

 

 

通过对比我们知道定义一个变量是他的权限最大能读能写,他的指针或者引用可以用const 修饰 ;;

但是 一个变量如果在 定义是就限定了他的权限 ,而他的指针或者引用的权限比原来的还要大那么就容易出错,这是不允许的。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值