C++【Const】解析与用法

本文介绍了C++中const修饰符的使用,包括禁止修改变量值、指针的指向以及同时禁止两者修改。const可以在类型前或后,以及*之前或后,甚至两者都用,以实现不同级别的保护。通过示例展示了const应用在变量和指针上的效果,并提供了判断题来检验理解。
摘要由CSDN通过智能技术生成

const是属于修饰符的一种,作用是禁止修改内容,当变量的值或者地址不希望被自己的骚操作莫名其妙地更改时就产生了它的作用

  • 禁止修改变量的值(const在类型前后都可以)
const int a = 10;
int const b = 10;

之后如果对变量重新赋值是会产生错误的

  • 禁止修改指针变量的指向值(const在 * 之前,在类型前后都可以)
int a = 10;
const int* b = &a;
int const* c = &a;

这里只是禁止通过指针来改变指向变量的值,给*b、*c重新赋值是会产生错误的,但是可以改变指针的指向,比如b = &x,虽然换了另外一个变量还是不能修改值罢了

  • 禁止修改指针变量的指向(const必须在 * 之后)
int a = 10;
int* const b = &a;

禁止修改指向意味着创建的指针b只能保存初始化变量a的地址,之后给b = &c是会产生错误的,但是并没有禁止修改值,所以*b = 20是可行的

  • 禁止修改指针变量的指向和指向值(前面2个的合体,const在 * 的前后都要有)
int a = 10;
const int* const b = &a;
int const* const c = &a;

既然是合体了,那么作用也就是合体作用,不能修改*b = 20也不能b = &x,相当于把这个指针锁死了

判断环节

int a = 10;
int const b = 10;
int c = 10;

int const* p1 = &a;
int* const p2 = &a;
int const* const p3 = &a;

//判断下面每一个的对与错
a = b;
b = c;
p1 = &c;
*p1 = 20;
p2 = &c;
*p2 = 20;
p3 = &c;
*p3 = 20;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值