const在不同位置下的修饰作用

本文详细介绍了C++中const关键字的使用,包括顶层const和底层const的区别。const int*a意味着不能修改*a所指向的值,但可以改变指针a本身。而int*const a则表示不能改变指针a的地址,但可以修改它指向的值。const int*const a则同时禁止了对指针和指针所指对象的修改。理解const的位置对于正确使用和理解C++的常量非常重要。
摘要由CSDN通过智能技术生成

顶层const与底层const

  • const int* a:这里的const修饰的是int,而int定义的是一个整型值a。因此*a所指向的对象值不能通过*a来修改。但是可以重新给a赋值,使其指向不同的对象
  • int* const a:这里的const修饰的是aa代表的是一个指针地址。因此不能赋值给a其他的地址值,但可以修改a指向的值,如*a = 1
  • const int* aint const* a两者等价
  • const int* const aa所指向的对象的值以及地址a本身的值都不能被修改

总结
const修饰变量主要看const位于*的左边还是右边

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值