Subj : C++20+
To   : All
From : hollowone
Date : Tue Feb 25 2025 12:58 pm

In my daily and production ready C++ code I consciously got stuck with up to C++17 features that seem to be practical to me.

I find it extremely valuable with the:

- std::move/forward mechanics
- unique/shared_ptr
- std::thread
- lambda functions
- auto/nullptr
- range based for(auto& x : y)
- std::chrono, tuple, new containers (unordered_map)
- bracket initialization auto x = {1};
- default,deleted,override and final functions
- const,constexpr
- std::optional, std::variant, std::any
- std::filesystem

I started reading about C++20 features, primarily:

- anonymous template functions/methods
- coroutines
- <=> operator
- concepts
- ranges
- modules
- timezones in std::chrono
- alternative string formatting via std::format

I was avoiding any lecture related to it feared by general opinion that beyond C++17 the standard is messed up heavily. but actually I find many of the features mentioned above quite useful.

I'll be experimenting with it, but I'm also curious about your opinion about practicality of above features in your projects.

I find only concepts heavily confusing as first encounter, but I was never onto template driven/generic programming, thus I find this one obviously optional.

How about you?

-h1

... Xerox Alto was the thing. Anything after we use is just a mere copy.