Я очень рад использовать auto переменные в моих программах C++. Я знаю переменные, объявленные с помощью правил использования auto использования, чтобы выводить типы переменных, но я смущен тем, как это работает для числовых типов. Предположим, что у меня есть:
auto foo = 12;
 Тип foo может разумно быть int или даже unsigned char. Но предположим, что позже в моей программе я сделаю некоторую математику и присвою foo значение 4 миллиарда. В этот момент я бы хотел, чтобы foo стал типом unsigned int или, возможно, long.
Как компиляторы могут ожидать значения, которые будут назначены позже в программе?
