C++笔记(四)
来源:互联网 发布:weka中的数据预处理 编辑:程序博客网 时间:2024/06/05 03:04
(1) union(共用体)对内存要求特别严格的地方,union会频繁出现,在union中,各成员共享一段内存空间
一个union变量的长度等于各成员中最长的长度。
共享:指该共用体变量可被赋予任一成员值,但每次只能赋一种值,赋入新值则冲去旧值。
anonymous union(匿名共用体):共用体没有任何类型和变量名。
void main() {union {int i;float j;}i = 12;j = 1.22f;}
(4) magic number
float radius = 3.0f; float perimeter = radius*3.14;
没有特别说明3.14这个数字很魔幻,导致代码可读性差,修改不方便。
应该将其定义为常量、枚举类型或宏定义,不要在代码中直接使用特定的数值。
特定情况下,可用于观察和调用程序中出现的错误。0xcdcd是微软C++ Debug运行库为没有初始化的堆内存所做的标记;0xcccc是为未初始化的栈内存所做的标记。
(5) Aggregate(聚合体)
⓵最大的特点是可以直接使用{}括起来的初始化列表进行初始化,不能有用户自定义的构造函数,不能有private和protected权限,不能有基类和虚函数。
⓶未知大小的数组可以用包含n个元素的初始化列表初始化。例如:int x[] = {1, 2, 3};
⓷结构的Aggregate中如果包含静态成员变量,在初始化列表中不考虑该变量。
struct A {int i;static int s;int j;} a = {1, 2};//这里初始化的是a.i和a.j
⓸初始化列表中的元素的个数少于Aggregate成员的个数,未明确指出的Aggregate成员将被默认初始化。
⓹出事化列表可以初始化union,但只能初始化其第一个元素。
- C++primer笔记(四)
- C语言笔记(四)
- C语言程序设计笔记(四)
- C语言笔记(四)
- 《C和指针》学习笔记(四)
- [C++]C++学习笔记(四)
- C语言学习笔记(四)数组
- C语言程序学习(四)笔记
- 《Effective C++》学习笔记(四)
- C 语言易忘点笔记(四)
- “Accelerated C++” 阅读笔记(四)
- Objective-c 学习笔记(四)
- C语言学习笔记(四)
- C语言之变量(笔记四)
- 《effective c++》学习笔记(四)
- C语言学习笔记(四)
- c学习笔记<四>
- 《高质量 C++/C 编程指南 》阅读笔记(四)
- 引用类型-Array
- 微信支付url未注册问题解决方案
- ruby Singleton Class和Singleton Method
- 711总结
- Spirng实战学习笔记(转载)
- C++笔记(四)
- MySQL数据库开启远程连接(云服务器ubuntu)
- 大数据时代数据可视化的好处
- Investment (水题)完全背包加状态压缩--不然会TlE
- 读书札记 二 《大型网站技术架构:核心原理与案例分析》
- JS基础
- 差分对设置
- 在线绘制基因表达热图
- 欢迎使用CSDN-markdown编辑器