
C++_可以重载的运算符
运算符 符号 非成员 二元算术运算符 + - * / % 是 一元算术运算符 + - 是 按位运算符 ~ & | ^ << >> 是 逻辑运算符 ! && || 是 赋...
运算符 符号 非成员 二元算术运算符 + - * / % 是 一元算术运算符 + - 是 按位运算符 ~ & | ^ << >> 是 逻辑运算符 ! && || 是 赋...
auto用于初始化列表 auto m = {10} 上述代码,在C++17之前,对于m的类型的推断,编译器给出的结果将不会是我们的预期的。 它会推断为std::initializer_list<int>,...
优先级 运算符 相关性 1 :: 左 2 ()、[]、->、 . 左 2 后缀++、后缀-- 左 3 !、 ~ 右 3 一元+、一元- 右 3 前缀++、前缀-- 右 3 寻址&、间接* 右 3 C风格...
组块分隔符 C++14新增了用单引号表示的组块分隔符。 使用这种语法,可以提高代码的可读性。 int moneyInBank = -10'000;//-10000 long populationChange = -8...
标准库tuple类模板 tuple是类似pair的模板。 每个pair的成员类型都不相同,但每个pair都恰好有两个成员。 不同tuple类型的成员类型也不相同,但是一个tuple可以有任意数量的成员。 每个确定的t...
function类模板 C++语言中有几种可调用的对象:函数、函数指针、lambda表达式、bind创建的对象以及重载了函数调用运算符的类。 和其他对象一样,这些可调用的对象,也有自己的类型。 然而,两个不同的可调用...
shared_ptr类 简述内存的分配: 静态内存用来保存局部的static对象,类static数据成员,以及定义在函数之外的变量。 栈内存用于保存定义在函数内的非static对象。 分配在静态内存或者栈内存中的对象...
委托构造函数 一个委托构造函数使用它所属类的其他构造函数执行它自己的初始化过程,或者说它把它自己的一些(或全部)职责委托给了其他构造函数。 一个委托构造函数也有一个成员初始化值得列表和一个函数体。 在委托构造函数中,...
long long bool 布尔类型 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整型 1...
static_cast 用来完成编译器认可的隐式类型转换。 任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。 范围: 基本数据类型之间的转换。 派生体系中向上转型:将派生类指针...