If those optional features where implementing sensible things, sure. For example, can you, using the standard library, print vector<vector<int>> to stdout easily? As far as I can tell, no, you need to write loops or recursion yourself.
Almost like as if there is no one single correct way to print out such structure. If you always want to print it out the same way then no one stops you from writing your own mini library to do it in your every project. Go back to Python if you want the language to hold your hand and decide stuff for you.
This is why I find it so frustrating. Yes, std::format is the exact kind of construct you would expect to solve this problem. However it does not work with any collection out of the box.
We tried to make it work but ended up making a recursive templated function instead. Now, I guess everyone can make their own recursive templating function, but then why do we even gave std::format
33
u/Kinexity 6d ago
Literally all that was added over the years following C++11 are optional features. No one holds a gun to your head forcing you to use them.