Насколько мне известно, компилятор знает abc is int во время компиляции, поэтому он не будет влиять на производительность выполнения.
Однако, делает ли это время компиляции более длинным?
Спасибо заранее.
Ответ 1
auto - один символ длиннее int, поэтому lexer определенно должен делать больше работы.
С другой стороны, компилятору больше не нужно проверять, что пользователь предоставил соответствующий тип, поэтому я думаю, что auto будет немного быстрее.
В конце концов, вам, вероятно, не следует выбирать между типом вывода и явным набором текста в зависимости от соображений производительности. Намерение и ясность должны быть решающими факторами.
Ответ 2
Это может быть, или это может быть не так, это зависит от компилятора. Разумеется, выполнение этого не является обязательным стандартом.
Так как лексический анализатор знает тип 5566 в любом случае, он, вероятно, будет в значительной степени неактуальным.
Вам было бы лучше беспокоиться о более "макроэкономических" проблемах, таких как алгоритм и выбор структуры данных. Вы почти наверняка получите лучшую отдачу от инвестиций, чем беспокоитесь о том, быстрее или нет выбор типа авто или нет.
Использование auto в создании переменных - это не столько производительность, сколько упрощение вашей жизни как кодера.
Ответ 3
Как и при компиляции, компилятор должен проверять тип, так или иначе, я думаю, что для замены auto не потребуется значительно больше времени, чем был найден компилятор как тип.