C++学习笔记16
来源:互联网 发布:2017nba数据统计 编辑:程序博客网 时间:2024/05/22 02:27
1,C++ 位域
C++的位域的出发点是从为了节约内存出发的,一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。如下:
小端:就是人阅读的逆序(内存递增方向)(Win10是小端)
大端:人阅读的顺序(相对于内存递增方向)
在win10下:给b赋值100(0110 0100),那么由于win10是小端,a1就是00,也即0;a1就是001也即1;a2就是011,也即3。
2,构造函数中,哪些成员变量一定要通过初始化列表来初始化?
构造函数初始化时必须采用初始化列表一共有三种情况,
1)需要初始化的数据成员是对象(继承时调用基类构造函数)
2)需要初始化const修饰的类成员
3)需要初始化引用成员数据
因为static属于类并不属于具体的对象,所以 static成员是不允许在类内初始化的,
那么static const 成员是不是在初始化列表中呢?
答案是NO,原因如下:
1) 一是static属于类,它在未实例化的时候就已经存在了,而构造函数的初始化列表,只有在实例化的时候才执行。
2)二是static成员不属于对象。我们在调用构造函数自然是创建对象,一个跟对象没直接关系的成员要它做什么呢。
阅读全文
0 0
- C++/C学习笔记
- C语言学习笔记(16指针)
- Object C学习笔记16-委托(delegate)
- Object C学习笔记16-委托(delegate)
- 【C/C++】STL学习笔记
- C/C学习笔记/导言
- C/C学习笔记/结构
- 【c/c++】学习笔记1
- C学习笔记1
- TPC-C学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- 学习笔记之c
- C#-学习笔记
- Objective-C学习笔记
- C++PRIMER学习笔记
- C学习笔记
- VMware下载以及安装Ubuntu
- 轻松学习java可重入锁(ReentrantLock)的实现原理
- 服务器环境搭建方法记录
- Docker安装、示例
- Oracle中 表空间,数字函数,日期函数,转换函数,同义词,反向键索引
- C++学习笔记16
- 【Oracle 12c ASM专题】Flex磁盘组到底有多flexible?
- CodeForces540E【树状数组+二分】
- PMF:创业公司“唯一重要的东西”?
- Android_判断是否有可用网络
- jquery缓存
- 网卡配置bond
- FastJSON、Gson和Jackson性能对比
- LeetCode-----First Unique Character in a String