~/talk

C++ Class Natures in Their Canonical Form and How to Find Them

Talkat CppCon 2019 · 2019-09-15..09-20· [software-architecture]
slides:none on file

Categorizes C++ classes into four concrete natures — value types, polymorphic types, designating types, and managing types — and shows how each nature dictates which special members to declare, default, delete, or implement. Demonstrates the surprising trick that deleting the move assignment suppresses generated copy/move operations to make polymorphic bases non‑copyable, explains the Rule of DesDeMovA, and gives concrete patterns (unique manager move/state, scope guard destructor, span/string_view contagion) with slides and code on the conference GitHub.

AI-written summary · about

  1. 0:00Introduction to canonical forms
  2. 8:56Class natures explained
  3. 16:56Managing types and their dangers
  4. 26:20Canonical forms for value types
  5. 30:46Polymorphic types and inheritance
  6. 34:18Rule of destiny for base classes
  7. 40:52Designating types and dangling references
  8. 45:58Managers as value types
  9. 55:01Summary of special member functions
  10. 59:48Q&A and legacy code advice
~/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.