~/talk

What Classes We Design and How

Talkat Meeting C++ 2021 · 2021-11-10..11-12· [rust]
slides:none on file

Clear decision rules replace magic: a compact taxonomy of class roles (value, subject, relation, manager) maps specific special‑member combinations to why they work, when Rule of Zero applies, and when to implement a unique manager using optional for moved‑from state. Concrete patterns show why const/reference members break assignability, why deleting move assignment suppresses copying for polymorphic or scope managers, and offer working move/assign recipes and a template sketch that compiles and behaves as claimed.

AI-written summary · about

  1. 0:00Intro
  2. 0:44Philosophy
  3. 1:51Objects
  4. 4:25Value
  5. 6:44Value Semantic
  6. 7:49Cons
  7. 8:48Subject
  8. 9:13Identity
  9. 10:25Polymorphic
  10. 12:27Relation Types
  11. 12:43Relation
  12. 13:47Fan Vehicle
  13. 16:14Relation Type
  14. 17:50Manager Types
  15. 20:16Detecting Manager Types
  16. 23:48Mental Model
  17. 25:08Special Member Functions
  18. 28:44Subobjects
  19. 30:42Defining Classes
  20. 31:02Core Guidelines
  21. 32:17Rule of Three
  22. 32:49Polymorphic Base
  23. 33:07How to prevent copying
  24. 34:03Defining a move assignment
  25. 34:49The MVA rule
  26. 35:11Polymorphic base class
  27. 35:51Managers
  28. 36:10Resource Acquisition
  29. 37:17Scope Manager
  30. 38:13Unique Manager
  31. 40:59How Move Works
  32. 41:48Move Constructor
  33. 44:21Duplicating Resources
  34. 45:17Default Constructor
  35. 45:58General Managers
  36. 46:29Takeaways
  37. 48:41Premature optimization
  38. 49:16Take it home
  39. 49:30Never define a destructor
  40. 50:08The 3 kinds of managers
  41. 50:58What was missing
~/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.