Video details

Embracing `noexcept` Operators and Specifiers Safely - John Lakos - CppCon 2021

12.26.2021
English

https://cppcon.org/ https://github.com/CppCon/CppCon2020 --- The `noexcept` operator, in concert with the `noexcept` specifier, allows generic code to choose a more efficient algorithm for types that have nonthrowing move and swap operations. These two C++11 features --- which have continued to evolve with every release of the language since C++11 --- are useful to high-performance computing yet, when overused, can profoundly jeopardize the maintainability of a large code base.
In this talk we will explore what the `noexcept` keyword means, what it offers, how it can be used effectively, the potential pitfalls one can encounter (and how to avoid them), and finally some excruciating annoyances regarding `noexcept` that exist in the C++ standard today. We intend to propose a fix for C++23 that will address those pitfalls and annoyances.
Background: Modern C++ offers a cornucopia of new features, not all of which are equally safe, especially when introduced into a large organization comprising legacy software and seasoned engineers proficient in early versions of the language. Over the past 18 months, I -- along with my coauthors -- have been privileged to work with some of the best minds on the planet to create a compendium of engineering wisdom from which virtually any C++ software engineer might benefit. The material presented in this talk derives directly from our about-to-be-published book, Embracing Modern C++ Safely.
--- John Lakos
John Lakos, author of Large-Scale C++ Software Design, serves at Bloomberg LP in New York City as a senior architect and mentor for C++ Software Development world-wide. He is also an active voting member of the C++ Standards Committee’s Evolution Working Group. Previously, Dr. Lakos directed the design and development of infrastructure libraries for proprietary analytic financial applications at Bear Stearns. For 12 years prior, Dr. Lakos developed large frameworks and advanced ICCAD applications at Mentor Graphics, for which he holds multiple software patents. His academic credentials include a Ph.D. in Computer Science ('97) and an Sc.D. in Electrical Engineering ('89) from Columbia University. Dr. Lakos received his undergraduate degrees from MIT in Mathematics ('82) and Computer Science ('81). His next book, entitled Large-Scale C++—Volume I: Process and Architecture, is anticipated in 2019.
--- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk
The CppCon YouTube Channel Is Sponsored By: JetBrains : http://jb.gg/cpptools
SonarSource:
https://www.sonarsource.com/