Lightning Talks: -std=c++20 -- Will This C++ Code Compile?
summary
Seven concrete portability gotchas for moving to C++20, each with a failing snippet and a fix: new keywords like requires and concept breaking identifier names; reserved identifier rules such as leading underscore followed by capital letters colliding with the standard library; filesystem u8_string changing its return type so std::string assignments fail; removed allocator members like construct/destroy; aggregate initialization breaking when a constructor is deleted; redundant template-id angle brackets; and std::accumulate moving its first argument.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:24Slides
- 0:40Using Reserved Keywords
- 1:07Using Reserved Identifiers
- 1:36U8String Compatibility
- 2:11redundant and allowed template IDs
- 2:41aggregate initialization
- 3:39removed methods
- 4:17stand accumulate
related talks
01h 04mC++ Concepts
01h 01mBack to Basics: Concepts in C++
07mLightning Talk: Higher-Order Template Metaprogramming with C++23
01h 11mC++20 Templates: The next level: Concepts and more
01h 03mTemplates Made Easy with C++20
05mLightning Talk: The Main Points in C++ - Dots in C++
52mClasses C++23 Style
01h 00mCatch ⬆️: Unicode for C++23
