Gibt es eine Möglichkeit zu überprüfen, ob ein Iterator (ob es von einem Vektor, eine Liste, eine deque...) (noch) dereferenzierbar ist, d.h. nicht ungültig gemacht wurde?
Ich habe mit try
- catch
aber gibt es einen direkteren Weg, dies zu tun?
Beispiel: (was nicht funktioniert)
list<int> l;
for (i = 1; i<10; i++) {
l.push_back(i * 10);
}
itd = l.begin();
itd++;
if (something) {
l.erase(itd);
}
/* now, in other place.. check if it points to somewhere meaningful */
if (itd != l.end())
{
// blablabla
}