1. 新类型 布尔 援用
整型 int long浮点型 float double字符类型 char 布尔 boolbool 寄存真(1)和假(0)的类型 大小1个字节 能够寄存true false指针 寄存地址的变量 能够间接批改变量的值 定义的时候能够不必赋值 应用的时候 如果不赋值不能够解援用 应用的是指向的变量援用 变量的别名 应用援用和应用变量是一样的 定义的时候必须绑定一个变量 绑定之后不能够让援用指向别的变量
2. 函数 内联 重载 缺省
2.1 内联inline
宏定义#define 不带参数 能够替换简略的函数 不能替换简单函数 先替换再计算 没有函数的跳转工夫 增长代码长度 节约运行工夫长度 消耗内存 倡议应用内联函数替换带参宏 区别: 1.内联函数 参数有类型(更平安) 带参宏没有类型 2.带参宏 先替换再计算 须要思考优先级问题 内联函数 先计算 而后后果带进去 不须要思考优先级问题 内联inline关键字 放到函数后面 倡议这个函数用内联的形式编译 `inline void(int& a)//函数背后加上inline关键字称之为内联函数 { a = 2; }`
2.2 重载 C++容许函数重名
函数定义 容许重名 函数返回值类型/参数名字不一样不形成重载 次要看参数 函数参数个数不一样 形成重载 void fun(int a); int fun(int aa, int bb); 函数参数类型不一样 形成重载 void fun(int a); int fun(double b);
2.3 缺省 给函数形参一个默认值
调用函数的时候 有默认值的形参能够不必传递参数 申明/定义的时候赋值 缺省必须从右往左 void fun_1(int a, int b, int c = 1); fun_1(3, 2); void fun_2(int aa, int bb = 12, int cc = 11); fun_2(13); 缺省和重载 引发一个二义性问题 两个函数形成重载 然而调用的时候两个函数都能够匹配 void fun_3(int a, int b = 2); void fun_3(int a, int b = 4, int c = 6); fun_3(1);//此时都能够调用
3.C++申请内存 new delete
C语言 申请堆内存 malloc 开释 free 头文件 stdlib.hint* p = (int*)malloc(sizeof(int)*20);//申请内存free(p);//开释内存C++申请内存 应用new 开释内存 应用deleteint* p = new int;//申请一个int;delete p;//开释一个int* pp = new int[20];//申请20个 new 类型[个数]delete[] pp;//开释多个申请内存的时候给他赋初值int* p = new int(20);//()示意初值int* pp = new int[20]{1, 2, 3. 4. 5};//赋予多个初值
4.C++的输入输出形式
stdio.h C语言输入输出头文件 io input输出 output输入 standard规范iostream io 输入输出 stream流count<<输入的内容<<endl;//endl示意换行 输入数据cin>>变量;//输出数据