Зачем писать больше символов в типе автоматического возврата С++ 11?

Недавно я видел много фрагментов кода (на SO), объявляющих int main() как

auto main() -> int
{ 
 ... 
}

Я не вижу абсолютно никаких причин писать это так, поскольку int main() короче (9 символов без пробелов против 15), лаконичный и абсолютно корректный код. Есть ли что-то большее, чем фактор «крутости/причудливости», связанный с написанием auto main() -> int?


person vsoftco    schedule 27.11.2014    source источник
comment
Преториан, достаточно ясно, поэтому мой вывод ДА, следует избегать.   -  person vsoftco    schedule 27.11.2014
comment
Альф постоянно делает это, и я видел его комментарий, в котором говорилось, что он считает этот единственный истинный синтаксис для функций в C++, потому что он применим ко всем случаям использования, в то время как традиционный тип возвращаемого значения, очевидно, нет.   -  person Praetorian    schedule 27.11.2014
comment
Преторианец, собственно поэтому я и задал вопрос. Я видел это в его фрагментах кода, и я уважаю то, что он публикует.   -  person vsoftco    schedule 27.11.2014
comment
\ когда вам в любом случае нужно написать фактический тип, auto кажется избыточным. Я думаю, что auto полезен в ситуациях, когда вы не хотите вводить тип или когда вы не можете указать тип. Но это выглядит kewl(R). В любом случае, если бы я столкнулся с этим в реальном коде, мне было бы все равно. Я сомневаюсь, что я бы взял дополнительные усилия, чтобы использовать его.   -  person Galik    schedule 27.11.2014
comment
@Galik, да, я бы использовал его всякий раз, когда это необходимо, то есть когда тип возвращаемого значения зависит от параметра через decltype. Однако теперь я понимаю, почему его всегда можно использовать, то есть из соображений согласованности.   -  person vsoftco    schedule 27.11.2014
comment
@vsoftco Постоянство — лучшая причина, которую я слышал. Я не выбрал этот пункт из комментариев до сих пор. Возможно, когда-нибудь все функции будут написаны таким образом. Тем не менее, я думаю, что могу пропустить легко определяемый тип возвращаемого значения, когда он находится слева, а не справа. Мой монитор шире, чем в высоту, и мне по-прежнему приходится прокручивать IDE, чтобы найти конец объявления некоторых функций.   -  person Galik    schedule 27.11.2014