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