2018
- [EMCpp]Item-21 Prefer std::make_unique and std::make_shared to Direct Use of New
- [EMCpp]Item-20 Use Weak_ptr for Shared_ptr Like Pointers That Can Dangle
- [EMCpp]Item-19 Use std::Shared_ptr for Shared-ownership Resource Management
- [EMCpp]Item-18 Use std::unique_ptr for Exclusive-ownership Resource Management
- [EMCpp]Item-17 Understand Special Member Function Generation
- [EMCpp]Item-16 Make Const Member Functions Thread Safe
- [EMCpp]Item-15 Use Constexpr Whenever Possible
- [EMCpp]Item-14 Declare Functions Noexcept if They Won't Emit Exception
- [EMCpp]Item-13 Prefer Const_iterators to Iterators
- [EMCpp]Item-12 Declare Overriding Functions Override
- Nodes on Clean Architecture
- [EMCpp]Item-11 Prefer Deleted Functions to Private Undefined Ones
- [EMCpp]Item-10 Prefer Scoped enums to Unscopded enums
- [EMCpp]Item-9 Prefer Alias Declarations to Typedefs
- [EMCpp]Item-8 Prefer Nullptr to 0 and NULL
- [EMCpp]Item-7 Distinguish Betwenn () and {} When Creating Objects
- [EMCpp]Item-6 Use the Explicitly Typed Initializer Idiom when auto deduces undesired types
- [EMCpp]Item-5 Prefer Auto to Explicit Type Declarations
- [EMCpp]Item-4 Know How to View Deduced Types
- [EMCpp]Item-3 Understand Decltype