const--C/C++

最近看的程序都用到了各种各样的const,觉得其实掌握const不难,关键是要弄清楚const修饰的是什么。

 

1.指针常量和常量指针

 

指针常量指的是此指针指向的地址是常量,也就是说不能再赋予这个指针新的值,const修饰的是指针;常量指针是指的指针指向的内容是常量,也就是说存储在这个地址的值是不能变的,const修饰的是指针指向的值。

 

指针常量的一般定义方式是type * const;

常量指针的一般定义方式是const type *;

如果某一个变量定义为const type * const, 这就表示这个常量指针指向的也是一个常量,也就是说,指针指向的地址和此地址指向的内容都不能变。

 

个人觉得,搞清楚指针常量和常量指针最关键的地方时弄清楚const修饰的是什么,究竟是什么东西不能变,这也是理解const的核心。

 

2.const跟变量的作用域和生存期都没有任何关系,加上const修饰的变量,与同样的没有加const修饰的变量,作用域和生存期是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值