![]() 作者: [美]Scott Meyers 出版社: 东南大学出版社 副标题: 改善C++11和C++14的42个具体做法(影印版)(英文版) 出版年: 2015-9-1 页数: 315 定价: 62.00元 装帧: 平装 ISBN: 9787564159115 内容简介 · · · · · ·《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和全局引用之间的关联;介绍编写清晰、正确、高效lambda表达式代码的技巧;辨析std∷atomic和volatile之间的差异,它们各自该如何使用,还有它们与C++并行计算API之间的关联;如何修改老C++编程(比如C++98)中的实践,使之符合现代C++的软件开发规范。 作者简介 · · · · · ·Scott Meyers is one of the world's foremost authorities on C++. He wrote the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL); published and maintains the annotated training materials Overview of the New C++ (C++11/14) and Effective C++ in an Embedded Environment; is Consulting Editor for the Effective Software Development Series, and, wi... 目录 · · · · · ·From the PublisherAcknowledgments Introduction 1.Deduang Types Item 1: Understand template type deduction. Item 2: Understand auto type deduction. · · · · · ·() From the Publisher Acknowledgments Introduction 1.Deduang Types Item 1: Understand template type deduction. Item 2: Understand auto type deduction. Item 3: Understand decltype. Item 4: Know how to view deduced types. 2.auto Item 5: Prefer auto to explicit type declarations. Item 6: Use the explicitly typed initializer idiom when auto deduces undesired types. 3.Moving to Modern C++ Item 7: Distinguish between()and {} when creating objects. Item 8: Prefer nullptr to 0 and NULL. Item 9: Prefer alias declarations to typedefs. Item 10: Prefer scoped enums to unscoped enums. Item 11: Prefer deleted functions to private undefined ones. Item 12: Declare overriding functions override. Item 13: Prefer const_iterators to iterators. Item 14: Declare functions noexcept ifthey won't emit exceptions. Item 15: Use constexpr whenever possible. Item 16: Make const member functions thread safe. Item 17: Understand special member function generation. 4.Smart Pointers Item 18: Use std ∷unique_ptr for exclusive—ownership resource management. Item 19: Use std ∷ shared_ptr for shared—ownership resource management. Item 20: Use std ∷weak_ptr for std ∷ shared_ptr—like pointers that can dangle. Item 21: Prefer std∷make_unique and std∷make_shared to direct use of new. Item 22: When using the Pimplldiom,define speaal member functions in the implementation file. 5.Rvalue References,Move Semantics,and Perfect Forwarding Item 23: Understand std∷move and std∷forward. Item 24: Distinguish universal references from rvalue references. Item 25: Use std∷move on rvalue references,std∷forwa rd on universal references. Item 26: Avoid overloading on universal references. Item 27: Familiarize yourselfwith alternatives to overloading on universal references. Item 28: Understand reference collapsing. Item 29: Assume that move operations are not present,not cheap,and not used. Item 30: Familiarize yourselfwith perfect forwarding failure cases. 6.Lambda Expressions Item 31: Avoid default capture modes. Item 32: Use init capture to move objects into closures. Item 33: Use decltype on auto&& parameters to std∷forwa rd them. Item 34: Prefer lambdas to std∷bind. 7.The Concurrency API Item 35: Prefer task—based programming to thread—based. Item 36: Specify std∷launch∷async if asynchronicity is essential. Item 37: Make std: :threads unjoinable on all paths. Item 38: Be aware ofvarying thread handle destructor behavior. Item 39: Consider void futures for one—shot event communication. Item 40: Use std∷atomic for concurrency,volatile for special memory. 8.Tweaks Item 41: Consider pass by value for copyable parameters that are cheap to move and always copied. Item 42: Consider emplacement instead of insertion. Index · · · · · · () |
正在看
作者的思维的天马行空
还没看
非常好的一本书,值得拥有。