Объясните современный 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'ом" какую-то ересь не стоит.