C++: A New Language Starting In 2011

Metadata

Introduction

Pythonicity (Thank You: Readablility and Writability)

Range Based for Loops

Tuple Unpacking (err, Structured Binding)

Duck Typing (err, auto) Without A Duck

Exercise

Things That Simply Deserved Fixing Since Ages

Brace Initialization

New OO keywords: override, final, default, delete

Strongly Typed enum

Delegating Constructor

nullptr

Smart Pointers

From Smart Pointers:

Exercise

Moving, “RValue References”

Functions (std::bind<>, std::function<>, Lambdas)

From Functions, Functions:

From Lambda

Multithreading

From Multithreading:

TODO

Topic

Description

Discussion: Thread Objects

  • Ctor starts code in thread -> plain function, std::function, lambda

  • No copy, only move (obviously)

  • join(), detach(): terminating before join? live hack that!

Extend Scoped Locking

  • scoped_lock (see-also condvar)

  • unique_lock

std::atomic: add struct specialization

Add literals to std::chrono

… and a “See also” to a literals live hackery

Memory Model

See for example the unlocked answer, answer_valid story

Semaphores (since 20)

Miscellaneous

TODO: Important

Topic

Description

std::any<>, std::optional<>, std::variant<>

vector<>::emplace_back()

forward

array

ref, cref

TODO: Optional

Topic

Description

new containers and algorithms (next to beginning somewhere)

File system library

chrono += how to sleep

Done in various live hacking session on the way; add to slide material

Regular expression library

(Raw) string literal

constexpr, constexpr if (since C++17)