~/talk

What Classes We Design and How

Talkat ACCU 2022 · 2022-04-06..04-09· [c-and-cpp, software-architecture]
slides:none on file

Categorizes C++ types as Value, Subject, Relation, Manager (scope, unique, general) and gives concrete rules: prefer the Rule of Zero, treat relation types (references, pointers, span, string_view) only as function parameters to avoid dangling, never define empty destructors (they inhibit moves), and implement unique managers with an optional or unique_ptr, lvalue‑qualify assignment, swap and reset the source, mark move operations noexcept where possible. Shows real UB example (vector::at on a temporary) caught by AddressSanitizer.

AI-written summary · about

  1. 0:00Introduction and philosophy
  2. 2:49Categorizing C++ types
  3. 7:11Value types and semantics
  4. 13:00Understanding subject types
  5. 17:11Relation and dangling types
  6. 22:40Safe use of relation types
  7. 34:56Threading and global variables
  8. 37:20Manager types overview
  9. 44:02Class design principles
  10. 50:00Rule of zero and its limits
  11. 54:25Polymorphic base and the mover
  12. 59:28Implementation of manager types
~/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.