0:00 / 0:00
Your New Mental Model of constexpr - Jason Turner - CppCon 2021
CppCon
189K subscribers • 101 videos on Hallway • Conference channel
- One of the most-watched uploads on CppCon, a conference or university channel Hallway lists. Nobody has recommended it in the communities yet, so it ranks below community picks.
- Presented by Jason Turner
- Linked in the descriptionCppCon/CppCon2021
Intermediate. Assumes working knowledge.
73K views4 years ago
Jason Turner explains how to think about constexpr in C++ as moving work from runtime to compile-time.
cppcon.org/ github.com/CppCon/CppCon2021 --- In my experience as a trainer, YouTuber, and speaker, I find that many people have a mistaken impression of what constexpr is and for what it is suited. I see people over-complicate constexpr by conflating it with meta programming and template-related topics. Students will often fail to recognize where and when constexpr could be used. Experts will get concerned about the "contract" you are making with the user of your library by marking functions as constexpr. In this talk, I will present a mental model for how you should consider constexpr. I will explain what constexpr is (less mechanically and more metaphorically), give practical applications for constexpr, and help you figure out where constexpr fits into your application or library. In the most straightforward sense, constexpr is moving work from runtime to compile-time. This mental model that I will present will ask, "what work would you rather do at compile-time?" We will find this answer by looking at constexpr as a continuum. On one end of the continuum is the use case of moving a runtime fixed-size vector into a compile-time fixed-size constexpr array, and on the far end is executing your entire program at compile-time and simply outputting the results at runtime. --- Jason Turner Host of C++Weekly youtube.com/c/JasonTurner-lefticus, Co-host of CppCast cppcast.com, Co-creator and maintainer of the embedded scripting language for C++, ChaiScript chaiscript.com, and author and curator of the forkable coding standards document cppbestpractices.com. I'm available for contracting and onsite training. --- Videos Filmed & Edited by Bash Films: BashFilms.com YouTube Channel Managed by Digital Medium Ltd events.digital-medium.co.uk *--*Why it's here
A top upload from a listed channelCppCon is on Hallway's list of conference and university channels, and this upload is one of its most-watched talks or lectures. Nobody has recommended it in the communities yet, so it ranks below community picks.