“顶层const”和“底层const”的思考
来源:互联网 发布:什么是云计算举例说明 编辑:程序博客网 时间:2024/05/20 20:44
“顶层const"顾名思义就是对对象本身的一种限制,而使得对象本身为常量。
例:
const int a = 1; //对对象本身做了限制,变为常量,是“顶层const”
同理,”底层const"通常与指针和引用等复合类型的基本类型有关,那是对指针、引用类型所牵连的对象的限制,那是对底层的限制。
例:
const int a = 1;const int *p = &a; //对存储的a对象进行了限制,这是“底层const”
归根结底,限制的范围不同,有复合类型既可以是“顶层const”也可以是”底层const",比如指针。
例:
const int a = 1;
const int *r1 = &a;
const int *const r2= &r1; //对r2和r1都作了限制,即是“顶层const”又是“底层const”注:在使用“底层const"对象进行赋值时,要赋值对象必须同时具有“底层const"
例:
const int a = 1;const int *p = &a;int *p1 = p; //p具有“底层const”将引发错误因为p1是int型指针,必然可以对p1所存储的对象作出改变,例
*p1 = 1;然而,p1所存储的对象为a,a是const常量,与之有矛盾。所以“底层const”只能赋值给“底层const"。
0 0
- “顶层const”和“底层const”的思考
- 顶层const和底层const的理解
- 顶层const和底层const的区别
- C++的顶层const和底层const
- 顶层const和底层const的说明
- 底层const和顶层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const和底层const
- 顶层const 底层const
- C++的顶层const和底层const的理解
- C++的顶层const和底层const的理解
- HashMap源码分析
- UML
- UML是什么?
- Android.mk 详解
- MySQL 进阶
- “顶层const”和“底层const”的思考
- android之旅24 多媒体编程:音乐、视频、拍照、视频
- 用户界面开发基础
- C++11新特性应用--占位符(std::placeholders std::is_placeholder std::is_bind_expression)
- UC/OS-II基础知识之任务的同步与事件
- phpcms 站点管理增加联系方式备案等字段等
- 非常好的理解遗传算法的例子 .
- hdu 1757 A Simple Math Problem 矩阵
- (实训第二天)用C程序判断机器是大端模式还是小端模式,附源程序