操作数
* 类型
分类
- 基本类型(9种)bool char wchar_t short int long float double longdouble + longlong
- 复合类型(7种)enum union struct class 数组 引用 指针
转换
- c强制转换和四种c++类型转换
推导
- auto (推导规则和推导限制)
- decltype (推导规则和推导限制)
别名
- typedef
- using
* 具名
标识规则:数字、字母和下划线组成,不能以数字开头,大小写敏感
标识修饰:static extern mutable const volatile unsigned(U/u)
内部变量:__cplusplus __FILE__ __LINE__ __FUNCTION__ __func__ __DATE__ __TIME__
具名赋值:类型对应的常量和常量默认类型
运算符
- 算术操作符 + - * / %
- 关系操作符 > >= < <= == !=
- 逻辑操作符 && ||
- 位操作符 & | ^ ~
- 赋值运算符 = += -= *= /=%= &= |= ^= <<= >>=
- 自增和自减操作符 ++ --
- 成员操作符 . ->
- 条件操作符 ? :
- 流操作符 <<和>>
- 函数操作符 ()
- 下标操作符 []
- 类型操作符 用于类的类型转换
- 逗号操作符 ,
- 域操作符 ::
- sizeof操作符
- throw操作符
- typid操作符
- 转换操作符 *_cast
- .*和->*操作符
- new和delete操作符
- 占位操作符 std::ignore,用于元组解包,严格来讲不算运算符
流程控制
顺序控制
try{} catch (const std::exception& ){}
do while(false)
分支控制
循环控制
- while
- do while
- for
- for(it:container)
- for_each(begin_it,end_it, []{})
函数
基本形式: 略
函数类型
- 普通函数 - 如void(*)(int);
- 类函数 -
- 对象函数 - 如void(<类名> ::*)(int);
- 仿函数 -
- 匿名函数 - []{}
调用方式
- 直接调用 - 如<函数名>()
- 点语法
- 类名和方法名
存储
- 函数指针
- 函数对象
类
类结构
- 构造 - 基类构造 委托构造 继承构造 拷贝构造 移动构造
- 赋值 - 拷贝赋值 移动赋值
- 析构 -
类特征
- 封装
- 继承
- 多态 - 重载和覆盖(区别于隐藏)
关键字
- const
- final - 修饰类,表示类不能被继承;修饰虚函数,表示该方法不能被重写;
- override - 修饰类方法,表示该方法覆盖基类同名方法;