Earlier quoted context omitted.
Here's an example of C++ code written intentionally with all the latest C++ features: https://gist.github.com/caiorss/c7db87df674326793431a14006aa... It looks pretty much nothing like a C program doing the same job. A lot of those features were made to make C++ a safer language to use. Eg, with a construction like: for(const auto& it : ast){ You can't accidentally walk past the end of the array by going one item too…
Why some functions are declared like: void foo() { .. } And others auto foo() -> void { .. }
> auto main() -> int {
Absolutely no reason to masquerade main() in such a fashion!
It's a rule of least surprise, be it for user or fellow developer.