欢迎光临散文网 会员登陆 & 注册

C++的顶层const和底层const

2021-05-25 20:41 作者:编程木鱼  | 我要投稿

概念区分

  • 顶层const:指的是const修饰的变量本身是一个常量,无法修改,指的是指针,就是 * 号的右边

  • 底层const:指的是const修饰的变量所指向的对象是一个常量,指的是所指变量,就是 * 号的左边

举个例子

区分作用

  • 执行对象拷贝时有限制,常量的底层const不能赋值给非常量的底层const

  • 使用命名的强制类型转换函数const_cast时,只能改变运算对象的底层const

  • int const a和const int a均表示定义常量类型a。

  • const int *a,其中a为指向int型变量的指针,const在 * 左侧,表示a指向不可变常量。(看成const (*a),对引用加const)

  • int *const a,依旧是指针类型,表示a为指向整型数据的常指针。(看成const(a),对指针const)

今天的内容就到这里啦!



C++的顶层const和底层const的评论 (共 条)

分享到微博请遵守国家法律