第五章 右值引用、移动语义和完美转发 条款23:理解std::move和std::forward 条款24:区分通用引用和右值引用 条款25:在右值引用上使用std::move 在通用引用上使用std::forward 条款26:避免在通用引用上重定义函数 条款27:熟悉通用引用上重定义函数的其他选择 条款28:理解引用折叠 条款29:假定移动操作不存在,不廉价,不使用 条款30:熟悉完美转发和失败的情况 第六章 Lambda表达式 条款31:避免默认的参数捕捉 条款32:使用init捕捉来移动对象到闭包 条款33:在auto&&参数上使用decltype当std::forward auto&&参数 条款34:优先使用lambda而不是std::bind 第七章 并发API 条款35:优先使用task-based而不是thread-based 条款36:当异步是必要的时声明std::launch::async 条款37:使得std::thread在所有的路径下无法join 条款38:注意线程句柄析构的行为 条款39:考虑在一次性事件通信上void的特性 条款40:在并发时使用std::atomic 在特殊内存上使用volatile 第八章 改进 条款41:考虑对拷贝参数按值传递移动廉价,那就尽量拷贝 条款42:考虑使用emplace代替insert 2
2022-04-30 11:51:33 1.8MB c++ Effective.Mo Effective C+
1
Effective.Modern.C++中文版本。高阶c++编程必须掌握的。
2020-01-03 11:37:57 1.8MB c++ Effective.Mo Effective C+
1