Como é estabelecida a igualdade do iterador STL?

Eu estava pensando, como a igualdade (==) é estabelecida para os iteradores do STL? É uma comparação simples de ponteiro (e, portanto, baseada em endereços) ou algo mais sofisticado?

Se eu tiver dois iteradores de dois objetos de lista diferentes e compará-los, o resultado será sempre falso?

E se eu comparar um valor válido com um valor fora do intervalo? Isso é sempre falso?

questionAnswers(4)

yourAnswerToTheQuestion