MENU

Fun & Interesting

Re-inventing move semantics in modern C++ in 13 minutes

Code for yourself 8,339 2 years ago
Video Not Working? Fix It Now

*Help me keep doing these videos!* This works relies on *your* support! You can show it in one of these ways: 📚 Start a FREE Audible trial: https://www.audibletrial.com/CodeForYourself 🛍️ Buy gear I use to make this video: https://github.com/cpp-for-yourself/sponsor/blob/main/amazon.md 💶 Directly become a sponsor on GitHub: https://github.com/sponsors/niosus 📺 Watch my videos *to the end* and leave comments ⁉️ Find *your* way to support this work here: https://github.com/cpp-for-yourself/sponsor/tree/main Move semantics, value semantics, rvalue references, rvalues, lvalues etc. are all terms related to what lies at the heart of modern C++. These concepts are all related and in this video we look at exactly what they mean. By re-inventing them. In this video we re-invent move semantics as it exists in C++11 starting from the reasons for its existence and inventing every single machinery that is used to achieve the proper moving of the data between objects along the way. 📚 As always, the script to the video lives here: https://github.com/cpp-for-yourself/supplementary-materials/blob/main/lectures/move_semantics.md Related materials: - Value categories: https://en.cppreference.com/w/cpp/language/value_category - std::move: https://en.cppreference.com/w/cpp/utility/move Hope you enjoy this one! Please leave any suggestions below the video or tell what you liked about the video!

Comment