Creo que la pregunta es bastante clara. ¿La autopalabra clave detectará automáticamente la const-ness, o siempre devolverá un tipo no const, incluso si hay, por ejemplo. dos versiones de una función (una que regresa consty la otra que no).
Solo para que conste, lo uso const auto end = some_container.end()antes de mis bucles for, pero no sé si esto es necesario o incluso diferente de lo normal auto.
cbeginycenddevuelve unconst_iteratorpor valor.const autotodavía tiene su propósito y no es redundante.