指向const 对象的指针

本文探讨了C++中指向const对象的指针与非const对象指针之间的转换规则。指针类型的安全性在于防止通过non-const指针修改const对象。允许const对象指针赋值给non-const指针但禁止反向操作,以保护const对象的不可变性。这种设计逻辑避免了潜在的未定义行为,并强调了类型系统的严谨性。
摘要由CSDN通过智能技术生成

指向const 对象的指针可以给指向non-const对象的指针初始化,反之不行。

从逻辑上分析,指向non-const对象的指针意味着可修改对象,如果强行给其赋值一个const 对象指针,那么如果可以,就会导致通过non-const对象指针修改const对象,这显然违背了逻辑。

int a = 1;
const int *p = &a;
int *p2 = &a;
p = p2;        //没有任何问题
p2 = p;        //编译报错

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值