零散知识俯拾(持续更新中)
此篇为我复习 C++
时发觉的知识遗漏点。所有发觉的零散知识遗漏点均只在此篇博文进行更新,所以文章会一直得到维护。倘若想随时查看本文更新内容,请点赞或收藏本篇文章。
若有错误,请在评论勘误,我会研究后对错误部分进行修改。谢谢你的阅读。
一、成员初始化列表
-
必须使用这种格式去初始化以下:
- 非静态
const
数据成员 - 引用数据成员
- 数据成员被初始化的顺序与它们出现在类声明中的顺序相同,与初始化器中的排列顺序无关
- 非静态
-
不能将成员初始化列表语法用于构造函数以外的其他类方法
-
成员列表使用的括号方式可用于常规初始化
int game = 162; int game2(163);
-
-
对于本身就是类对象的成员来说,使用成员初始化列表的效率更高
二、32 位编译器与64 位编译器里的常用类型字节数
加粗表示注意其在32位和64位编译器的不同
\ 表示尚未在网上寻找到相关数据,而现在编译器大多位32位或64位编译器,所以无法人工编译得出结果
16位 | 32位 | 64位 | |
---|---|---|---|
char | 1 Byte | 1 Byte | 1 Byte |
指针变量 | 2 Byte | 4 Byte | 8 Byte |
short int | 2 Byte | 2 Byte | 2 Byte |
int | 2 Byte | 4 Byte | 4 Byte |
unsigned int | \ | 4 Byte | 4 Byte |
float | \ | 4 Byte | 8 Byte |
double | \ | 8 Byte | 8 Byte |
long | 4 Byte | 4 Byte | 8 Byte |
long long | \ | 8 Byte | 8 Byte |
unsigned long | \ | 4 Byte | 8 Byte |
三、函数默认参数注意事项
- 对于带参数列表的函数,必须从右向左添加默认值。也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。
四、不能被重载的运算符
- 成员访问运算符
.
- 成员指针访问运算符
*
- 域运算符
::
- 长度运算符
sizeof()
- 条件运算符
? :