Я тестирую итераторы списка пустого списка со следующим кодом:
код
#include <iostream>
#include <list>
int main(){
std::list<int> l;
bool a, b, c;
std::list<int>::iterator i = l.begin();
a = i == --l.end();
b = ++i == l.end();
c = ++i == l.end();
std::cout << a << std::endl;
std::cout << b << std::endl;
std::cout << c << std::endl;
}
Результат
1
1
1
Результат для трех bools всегда верен, но я увеличиваю и уменьшаю итераторы, почему они всегда указывают на один и тот же адрес