Является ли С++ 11 автоматическим типом опасным?

Возможный дубликат:
Сколько стоит слишком сильное ключевое слово С++ 0x auto

Новое ключевое слово "auto" ; Когда он должен использоваться для объявления типа переменной?

В С++ 11, введя переменную auto вместо, скажем, int, позволит компилятору автоматически использовать правильный тип, выведенный из контекста инициализации. Это очень удобно в ситуациях, когда тип очевиден, но скучно писать. Есть ли подводные камни, о которых нужно знать, или причины, по которым кто-то избегал бы этого использовать?

Ответ 1

Мой личный опыт - это авто для универсального кода или таких вещей, как диапазон для цикла, но вы можете получить что-то вроде

auto count = getCount();
if (count < 0) {
  // do something
}

Если getCount() возвращает беззнаковое число, вместо того, что вы ожидаете (int), вы даже не получите предупреждение.