auto
lze použít pouze v místě, kde chcete pro novou proměnnou použít stejný typ, jako má rvalue, kterou ji inicializujete, tedy je to jen syntactic sugar pro decltype(rvalue)
. Protože typ rvalue kompilátor (i programátor) stejně potřebuje znát kvůli případnému přetypování, tak to nemá vliv na analýzu ani prasáckost kódu.
(Ještě existuje případ, kdy se auto
použije jako syntactic sugar pro postfixovou specifikaci typu, ale to evidentně nemá na analýzu kódu vůbec žádný vliv.)