0
点赞
收藏
分享

微信扫一扫

c++ const


​int num=10;​​​​int data=5;​​​​const int value=10;​​​ 不能再给​​value​​​赋值​​const int *p=#​​ const 放到int的左边,修饰的是指针所指向的值,可以修改指针地址但是不能通过(p)修改内容int const *p =#; const放到的左边,修饰的是指向的值,不能修改 值,但是可以修改指针 比如​​p=$data;​​​​int * const p=#​​ const放到的右边,修饰的是指针,可以修改值,不能修改指针 p=&data;报错​int const * const p=&num​ 地址不能修改 ,值也不能修改 ​p =$num​或者 ​*p=3;​都是错误的。​const int * const p​应该和上面是等价的。
规律​const​号左边就是指向的值是常量,在右边就是地址是常量

也就是上面这么多​​const​​​修饰的姿势,实际上总结出来只有这么几个逻辑,要么地址不可写,要么是值不可写,要么地址和值都也不可写。​​char [] str="ffffff";​​​可以修改每一个​​*str=''​​​;正确,是数组第一个元素。​​char * p="fffff";//不可以修改​​*p=''```;错误 ,是常量

举报

相关推荐

0 条评论