Effective Modern C++ 笔记

目录
第一章 型别推导
第二章 auto
条款6:当auto推导的型别不符合要求时,使用带显式型别的初始化物习惯用法
第三章 转向现代C++
条款10:优先选用限定作用域的枚举型别,而非不限作用域的枚举型别
条款13:优先选用const_iterator,而非iterator
条款14:只要函数不会发射异常,就为其加上noexcept声明
第四章 智能指针
条款18:使用std::unique_ptr管理具备专属所有权的资源
条款19:使用std::shared_ptr管理具备共享所有权的资源
条款20:对于类似std::shared_ptr但有可能空悬的指针使用std::weak_ptr
条款21:优先选用std::make_unique和std::make_shared,而非直接使用new
条款22:使用Pimpl习惯用法时,将特殊成员函数的定义放在实现文件中
第五章 右值引用、移动语义和完美转发
条款25:针对右值引用实施std::move,针对万能引用实施std::forward
第六章 lambda表达式
条款33:对auto&&型别的形参使用decltype,以std::forward之
第七章 并发API
36:如果异步是必要的,则指定std::lauch::async
39:考虑针对一次性事件通信使用以void为模板性别实参的期值
40:对并发使用std::atomic,对特种内存使用volatile