Iterador C ++ e iterador reverso

Estou escrevendo umiterator (na verdade éconst_iterator para o meu objeto atual, e também quero criar umreverse_const_iterator Além disso.

Eu olhei ao redor, para ver como fazer isso e me depareiisto:

Observe, entretanto, que quando um iterador é revertido, a versão invertida não aponta para o mesmo elemento no intervalo, mas para o que o precede. É assim, para organizar o elemento passado de um intervalo: Um iterador apontando para um elemento passado-o-fim em um intervalo, quando invertido, é alterado para apontar para o último elemento (não passado ) do intervalo (este seria o primeiro elemento do intervalo se invertido). E se um iterador para o primeiro elemento em um intervalo for invertido, o iterador invertido apontará para o elemento antes do primeiro elemento (esse seria o elemento passado-fim do intervalo, se invertido).

É isso que acontece da perspectiva do usuário ou quando você faz uma desreferenciareverse_iterator não abstrai isso, dando-lhe o valor / referência do objeto que vocêpensar está apontando para? Isso é apenas detalhe da implementação?

Meu entendimento foi:

for(i = obj.rbegin(); i != obj.rend(); i++)

era equivalente a

for(i = obj.begin(); i != obj.end(); i++)

exceto ao contrário. E entao*i iria para trás através do contêiner no primeiro caso, e iria para frente através do contêiner no segundo caso. Meu instinto está correto?

questionAnswers(1)

yourAnswerToTheQuestion