所有总结点仅供参考,不保证完全正确
1. 引用和指针的区别
① 引用必须初始化,指针可以不初始化
② 引用不可以为空,指针可以为空(野指针)
③ 引用绑定的值不能改,指针可以
④ 不能定义引用型数组,可以定义指针数组
建议: 在C++中尽量使用引用,而少使用指针,因为容易出现野指针、容易出现段错误等。
2. 函数重载的方式
① 函数名相同,参数个数不同
② 函数名相同,参数类型不同
③ 函数名相同,参数顺序不同
④ 函数名相同,const修饰的常函数和普通成员函数构成重载
3. 函数重载的原理
C++编译器通过对函数进行换名,将参数表信息体现在新的函数名中,从而实现重载,
我们可以编译一个汇编文件来查看相关重载函数。
如: void show(int i, int j){}
_Z4showii; <----换名之后的新名字。
4表示函数名的字符串个数。ii则是去的两个int的首字母。
void show(int i, double j){}
_Z4showid;<----换名之后的新名字
4. const与define的区别
const定义的常量,会分配大小,可以用sizeof计算
define定义的常量,只做替换
5. static函数
static修饰局部变量,生命周期变长。
static修饰全局变量,作用域属于当前文件,防止其他文件引用。
static修饰函数,生命周期变长
static修饰类成员函数,没有this指针,该成员属于整个类,而不是单一的对象。
static成员变量,必须在类的外部单独定义
格式: 数据类型 类名::静态成员变量 = 初始值
6. include<>与include “”区别
indlude<>在系统目录中去找相关文件
include“ ” 在当前目录中去找相关文件
7. 自增减运算符
前缀自增减运算符: 表达式的值是增减以后的值,返回增减以后的值
后缀自增减运算符: 表达式的值是增减以前的值,返回增减以前的副本
未完待续...