~/talk

Free Your Functions!

Talkat CppCon 2017 · 2017-09-24..09-29· [software-architecture]
slides:none on file

Argues that C++ code favors non-member, non-friend free functions because they reduce coupling, improve encapsulation, follow SRP and Open‑Closed, enable reuse via overloading and templates, and simplify testing without friends; cites std::begin/std::real as practical examples and Chandler Carruth optimization example showing member functions add an implicit this pointer that can prevent ideal registerization; advises namespaces/detail, ADL care, and Scott Meyers’ rule (virtual or private-access → member; otherwise prefer non-member).

AI-written summary · about

  1. 0:00Introduction and hypothesis
  2. 3:13SOLID principles recap
  3. 5:23Encapsulation and member functions
  4. 7:51Coupling and private member functions
  5. 10:47Single Responsibility Principle
  6. 11:54Open-Closed Principle and extensibility
  7. 13:16Reuse and DRY principle
  8. 15:05Static polymorphism and function overloading
  9. 18:22Abstraction and testability
  10. 22:17Performance and compiler optimizations
  11. 25:49Summary of advantages
  12. 27:16Standard library examples
  13. 30:57Why free functions work
  14. 33:08Function encapsulation and namespaces
  15. 35:58IDE support and uniform call syntax
  16. 39:14Finding and organizing free functions
  17. 41:01ADL and potential issues
  18. 44:14Virtual functions and free functions
  19. 45:38Functional programming and paradigms
  20. 47:04Should member functions be avoided?
  21. 48:30Scott Meyers' decision algorithm
  22. 50:01Teaching C++ and member functions
  23. 51:27Free functions vs C-style programming
  24. 52:09STL and SOLID principles
  25. 55:37Conclusion and call to action
  26. 55:58Q&A session
~/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.