Meeting 114 (15 October 2020)
September 2020 mailing
Select papers
- P2216R0
std::format
improvements - P2218R0 More flexible
optional::value_or()
- P2219R0 Executors Issues Needing Resolution
Bjarne Stroustrup on “dead bodies of type theorists”
I can’t produce a link off the top of my head, but I remember Bjarne Stroustrup saying (on a few occasions, in a talk or a panel) that “non-type template parameters were introduced in C++ over the dead bodies of some type theorists” (quote from memory). This surprises me since types depending on values is a fundamental concept in Martin-Löf type theory which is older than C++. Does anyone have any knowledge on what feedback Bjarne Stroustrup received from type theorists?
Clang 11 released
New C++ features in GCC 10
- Concepts
- Coroutines
- Unevaluated inline-assembly in
constexpr
functions - Warning on deprecated comma expression in array subscript expressions
- Static structured bindings
constinit
- Deprecated
volatile
- Conversions to arrays of unknown bound
constexpr
new
anddynamic_cast
- The
[[nodiscard]]
attribute now supports an optional argument - CTAD extensions
- Parenthesized initialization of aggregates
- Modules are not yet supported, aiming for GCC 11
Do you enforce Core Guidelines and/or use the Guidelines Support Library (GSL)?
- C++ Core Guidelines
- Microsoft GSL
- GSL-Lite
- How to use the Core Guidelines checker in Visual Studio
- Reddit comment on VS2019 checker usage
- Thoughts on applying static analysis to a large code base (Reddit)
CppCon2020
The Little Things: Speeding up C++ compilation
Techniques
- Include less
- Forward declarations (hmmm – GD)
- Explicit outlining
- Hidden friends
- Link less
- Extern template
- Modules (not mentioned… – GD)
Tools
std::list::sort()
vs. std::sort()
Scott Meyers, Effective STL:
Item 44: Prefer member functions to algorithms with the same name.