Skip to content
0:00 / 0:00

#constexpr#compile-time#c++17

CppCon 2017: Ben Deane & Jason Turner “constexpr ALL the Things!”

CppCon

189K subscribers • 136 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Ben Deane and Jason Turner
  • Linked in the descriptionCppCon/CppCon2017

Advanced. Deep dive for people who know the field.

61K views9 years ago1 recommendation

Programming languagesSystems programmingC++Performance and optimization

Ben Deane and Jason Turner explore the power of compile-time computation in C++17 using constexpr data structures and algorithms.

CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017 — constexpr: in C++11, a curiosity; in C++14, viable for more uses; now with added power, in C++17 will it become an important tool in the programmer's toolkit? In this talk we will examine the possibilities and power of constexpr and explore what can (and what should) be done at compile-time with C++17. We'll present techniques for building constexpr data structures and algorithms, and look at what the standard provides and where it can improve. We'll also explore constexpr use of user defined literals for expressive compile-time abstractions. Compile-time computation offers perhaps the ultimate zero-cost abstraction, and this talk attempts to gauge the power available with C++17 constexpr. — Ben Deane: Principal Software Engineer, Blizzard Entertainment Ben has been writing games for almost 20 years, and in C++ for most of that. He is currently a Principal Engineer at Blizzard Entertainment where he works on the Battle.net team. He's always looking for useful new techniques in C++, and he likes functional programming. Jason Turner: Developer, Trainer, Speaker 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 Work at Hudson River Trading (HRT): tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: BashFilms.com

Why it's here

1 person recommends this

What people say. Recommended as a key resource on using modern C++ compile-time features for zero-cost abstractions.

u/Mysterious_Feature_1in r/embedded • Recommends

On “C++ in Embedded Systems: A practical transition from C to modern C++”

…ary https://github.com/intel/generic-register-operation-optimizer, and more on strong types https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/ C++ is a more expressive language than C. While you can do anything in C, C++ allows writing expressive and declarative code. Some examples are: \- Boost SML, state machine library [video \- CIB library (Intel) [video https://github.com/intel/compile-time-init-build Using C++ doesn't mean you must use the standard library. And if you want standard-library-like container, you can always use ETL https://www.etlcpp.com/ Compile-time computation - with constexpr you can generate lookup tables at compile-time and more -…