← Parminces
Scott Meyers, O'Reilly (2014)

Effective Modern C++

42 specific ways to improve your use of C++11 and C++14. From type deduction to concurrency, rebuilt as interactive lessons with live memory diagrams and move-semantics simulations.

8
Chapters
42
Items
40+
Simulations
Foundations
Chapter 1

Deducing Types

Template type deduction, auto deduction, decltype, and how to view deduced types.

Items 1 – 4
Chapter 2

auto

Why prefer auto, proxy types, and the explicitly typed initializer idiom.

Items 5 – 6
Chapter 3

Moving to Modern C++

Braces vs parens, nullptr, scoped enums, deleted functions, override, noexcept, constexpr.

Items 7 – 17
Resource Management
Chapter 4

Smart Pointers

unique_ptr, shared_ptr, weak_ptr, make functions, and the Pimpl idiom.

Items 18 – 22
Move Semantics & Forwarding
Chapter 5

Rvalue References, Move Semantics, and Perfect Forwarding

std::move, std::forward, universal references, reference collapsing, forwarding failures.

Items 23 – 30
Chapter 6

Lambda Expressions

Capture modes, init capture, generic lambdas, and why lambdas beat std::bind.

Items 31 – 34
Concurrency & Tweaks
Chapter 7

The Concurrency API

Tasks vs threads, std::async, thread safety, atomics vs volatile.

Items 35 – 40
Chapter 8

Tweaks

Pass by value for copyable parameters, emplacement vs insertion.

Items 41 – 42