Есть ли способ проверить, является ли (по-прежнему) разыменовываемым ли итератор (является ли он вектором, списком, декой ...), то есть не был ли он признан недействительным?
Я использовал try
- catch
, но есть ли более прямой способ сделать это?
Пример: (который не работает)
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
}