~/talk

“Contract Programming in C++(20) (part 2 of 2)”

Talkat CppCon 2018 · 2018-09-23..09-28· [software-architecture]
links:none on file
slides:none on file

C++20 adds concrete contract features: expects/ensures/assert attributes attach pre/postconditions and inline checks; attributes parse always and have three audit/default/axiom build modes where audit runs expensive checks and axiom is only for static reasoning. Violation handling defaults to abort but can be set at build time (not runtime). Concepts and requires clauses replace complex SFINAE for template constraints; noexcept is a binding no‑throw guarantee that forces terminate on exception; constexpr implies side‑effect‑free evaluation; move semantics require documenting post‑move invariants.

AI-written summary · about

  1. 0:00Introduction and recap
  2. 1:54Implicit contracts in signatures
  3. 6:45C++98 features for contracts
  4. 14:43User-defined types and invariants
  5. 25:14C++11 language support
  6. 39:41C++20 contract attributes
  7. 59:30Summary and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.