1. 基本数据类型:没什么好说的、知道浮点数存储起来不精确、各种类型占的大小在不同平台可能不一样就行了
2. 初始化列表:能用就用、能防止潜在的类型收窄,
3. static_cast 和 dynamic cast 是推荐的用法、比 C 中的强制转换高级
4. 没有初始化的局部变量和指针里都是垃圾值,全局变量不是
5. 全局变量在运行时就存在、一直到程序退出
6. static 的变量定义出来时存在、一直到程序退出
7. 局部的变量一出了花括号就不存在
8. 堆上的变量不delete就只能等到程序退出时清除
9. 目前只推荐三种智能指针 std::unique_ptr, weak_ptr ,shared_ptr,主要作用是为了防止忘记 delete。可以用指向某个东西的指针初始化智能指针、也可以用make_xxx系列函数
10.typedef 不推荐使用、推荐使用 using 取类型别名
11. 两个冒号 ::的几种使用场合:
namespace::xxx
类名::静态成员或者方法
::某个全局变量
枚举名::枚举值
类名::普通成员函数
12. 范围 for 基本上都是配合 auto、const auto &,auto & 来使用
13. std 字符串转数字 std::stoi
反之用 std::to_string()
14. 函数就是一等类型、可以保存、可以来回传递、常用的方法有: 函数指针、function、可调用对象
15. 对于很冗长的类型、果断使用 auto
16 std::optional<>可以