How to Argue(ment)
summary
Catalogs about 42 syntactic ways to pass parameters then narrows them to ~16 useful cases, with concrete names and rules: prefer snapshot by value when cheap, use observer during call (const ref or raw pointer) only for call-scoped access, use raw pointers for optional observability and smart pointers to express ownership and transfer ownership (unique) or shared participation (shared/weak). Flags nonsensical forms (const rvalue refs, pointer reseating), recommends profiling for value vs. ref tradeoffs.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:49The function signature
- 2:53Best Practices
- 7:24Pass by value
- 16:10Pass by reference
- 17:44Pass by R-Value reference
- 21:04Pass by (const) pointer
- 32:27Lifetime Pointers
- 33:04Pass by unique_ptr
- 41:39Pass by R-Value Ref shared_ptr
- 45:30Avoid "Surprising" Sharing
- 47:56Guidelines








