码迷,mamicode.com
首页 > 其他好文 > 详细

顶层const和底层const

时间:2018-09-12 23:01:53      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:拷贝   去掉   引用   details   总结   article   tps   通过   有关   

总结:

指向常量的指针(底层const):不能通过解引用符来改变它所指向的内容
不代表它所指向的内容一定是常量

int num_a=1;

int const *pa=&num_a;

指针常量(顶层const):代表指针本身是常量,声明时必须初始化,之后它存储的地址值就不能再改变

常量的底层const不能赋值给非常量的底层const,拷贝时,拷入与拷出的对象必须具有相同的底层const资格,底层const只能给底层const拷贝,或者两个对象的数据类型能转换,非常量的可以转换成常量

加了引用就是底层const,不管先前是不是顶层const,只要等式右边加上引用符号,引用一个原本是顶层const的对象,此时也变成底层const

可以利用const_cast去掉底层const的const性质,来通过指针解引用修改其值

顶层const可以表示任意的对象是常量

底层const与指针和引用类型有关

拷贝操作与顶层const无关

参考:https://blog.csdn.net/qq_19528953/article/details/50922303

顶层const和底层const

标签:拷贝   去掉   引用   details   总结   article   tps   通过   有关   

原文地址:https://www.cnblogs.com/ymd12103410/p/9637768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!