A few days ago, a colleague asked me if it was wise to make every class a final class. Here is a more sophisticated answer than I could give at […]
Modern C++ Features
Features added in C++11 and later
Last year, I have written about constexpr and compile time constants in general. Last week, the Draft International Standard for C++17 has been sent to its ballot. Time to provide […]
This week I exchange guest posts with Jonathan Müller about accessing tuple elements. Jonathan is a CS student passionate about C++. He’s working on various C++ projects like memory, an […]
Lambdas are a nice recent addition to C++. They are cool, they are hip, and they tend to be overused and misused.
decltype and std::declval are two features that go hand in hand and are most useful in template metaprogramming and in conjunction with the use of type deduction via auto, e.g. […]
Today’s post is the first guest post on this blog. Jonathan Boccara tells us about some exciting features that will hit the standard library after C++17: Ranges. Jonathan develops and teaches […]
With the increasing standardization of attributes, we get the opportunity to make our code clearer not only to other humans but also to the compiler and other tools.
Trailing return types are an oddity in C++ – we should use them only when necessary.
I gave an introduction to variadic templates last week. Today I will talk about some more features that have or will be added in that area in C++11, 14 and […]
Generic programming and metaprogramming with templates always have been one of the features that set C++ apart from most other languages. With C++11, variadic templates added even more possibilities in […]