- 新增现代 C++ 教程的 Preface 章节,包括英文和中文版本 - 添加 C++ Primer 练习代码 - 新增 Learn C++ 教程的 C++ 开发简介章节 - 添加头文件解析文档 - 更新 mkdocs.yml,包含新教程的目录结构 - 修改项目设置,使用 Python 3.10环境
sort
| sort |
|---|
| 3 |
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
