Объясните современный main

Недавно увидел следующий код, где main вызывает более современный main:

constexpr auto modern_main(const auto argc, const auto argv) {
    // ...
    return auto{int{}};
}

Объясните, пожалуйста, что он означает и откуда так много auto?


Ответы (1 шт):

Автор решения: Миша

contexpr нужен для расчётов на этапе компиляции. Например:
constexpr auto x = "(4^2-9)/8+2/3"_solve;
auto позволяет определить тип переменной на этапе компиляции. Например:
auto a = 0; // то же самое, что int a = 0
int{} - пустой инициализатор, инициализация по умолчанию. В данном случае это то же самое, что и 0.
Теперь, надеюсь, вам всё понятно. И да, называть "современным main'ом" какую-то ересь не стоит.

→ Ссылка