В auto ничего плохого нет. Всё, что он делает - заставляет компилятор самостоятельно определять тип объекта или переменной в зависимости от типа объекта, который присваивается изначально. Но он несколько усложняет понимание кода в будущем, особенно вне среды разработки, когда нельзя навести на правую часть от оператора присваивания и посмотреть тип. Поэтому, если есть такая возможность, я всегда отказываюсь от использования такого синтаксического сахара.