Early Modern C++: How to Handle a C++03 Codebase in $CURRENT_YEAR
summary
Argues that Modern C++ principles—zero-cost abstractions, strong typing, concepts-like generic code and RAII—predate C++11 and that many C++11/14/17 conveniences can be emulated in C++03. Demonstrates concrete fixes: replace a slow handmade reverse by std::reverse because swap beats naive move; emulate lambdas with small functor structs; use Boost (notably Boost.Move) and thin wrapper types in a separate support compatibility namespace to provide unique_ptr/optional/function equivalents. Claims these tricks work in large C++03 bases but upgrading compilers still raises productivity, interop and performance.
AI-written summary · about
chapters (7)
- 0:00Introduction to talk
- 1:26What is Modern C++?
- 5:45Modern C++ tenets explained
- 17:51Do you need C++11 for Modern C++?
- 22:02Emulating modern features in C++03
- 34:07Why upgrade from C++03?
- 44:00Conclusion and Q&A
related talks
01h 25mComparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks
01h 01mLearning (and teaching) modern C++ - Challenges and Resources
08mModern C++ Coming to Terms With Terms
59mModern C++ for Fun and Profit: This isn’t your old C++
05mEasing into Modern C++
55mNot your GrandParent’s C++
47mLearning (and teaching) modern C++ - Challenges and Resources
01h 31mC++20: C++ at 40
