zoukankan      html  css  js  c++  java
  • 顶层const和底层const

    总结:

    指向常量的指针(底层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

  • 相关阅读:
    Python装饰器
    Python常用内建模块
    Python文件的操作
    Python集合的操作
    Python字典的操作
    Python列表元组的操作
    os.path
    Python字符串的操作
    线性回归
    随机森林
  • 原文地址:https://www.cnblogs.com/ymd12103410/p/9637768.html
Copyright © 2011-2022 走看看