C++笔记:const指针

在C++中,const关键字指定了一个不可修改的变量,并非常量。它可以使编译器帮助用户定义的某些变量不被意外的修改。指针也是变量,因此也可以将关键字用于指针。然而指针是一个特殊变量,包含内存地址,还可以修改内存中的数据。因此const指针有以下3种用法。
(1)、指针指向的地址是常量,不能修改,但可以修改指针指向的数据

int x=30;
int *const p=&x;//const作用的是指针变量本身
*p=40;//可修改指针p所指向地址的内容,此时输出x=40;
int y=20;
p=&y;//不能更改指针p所指向的地址

(2)、指针所指向的数据为常量,不能修改,但可以修改指针所指向的地址

int x=30;
const int *p=&x;//const作用的是指针变量所指向的数据
*p=40;//不能更改指针指向的数据
int y=20;
p=&y;//可以更改指针的地址

int *new_p=p;//注意:不能将常量指针赋值为非常量指针

通过1,2例子对比可以看出,当const在前时,其修饰的是指针所指向的内容,但指针本身是可变的;当const在后时,其修饰的是指针本身,但其指向的内容是可变的。
(3)、指针所指向的地址以及所指向的值都是常量,不能修改。

int x=30;
const int * const p=&x;
*p=40;//不能修改指针所指向的数据
int y=20;
p=&y;//不能修改指针的地址

有时需要禁止通过引用修改它所指向的变量的值,为此可在声明引用变量时使用关键字const

int x=30;
const int &p=x;//用关键字const声明引用变量p
p=15;//报错,不能修改p的值

报错

[Error] assignment of read-only reference 'p'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值