Existe-t-il un moyen de vérifier si un itérateur (qu'il s'agisse d'un vecteur, d'une liste, d'un deque ...) est (toujours) dereferencable, c'est-à-dire qu'il n'a pas été invalidé?
J'utilise try
- catch
, mais existe-t-il un moyen plus direct de procéder?
Exemple: (qui ne fonctionne pas)
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 itd points to somewhere meaningful */
if (itd != l.end())
{
// blablabla
}