Сравнение валидных итераторов на разные контейнеры одного типа как минимум в MSVC 2005 приводит к закрытию программы.
void main()
{
std::list<int> a,b;
std::list<int>::iterator i1 = a.end();
std::list<int>::iterator i2 = b.end();
if(i1 != i2) //Boom
{
printf("Just not equal\n");
}
}
В моём случае это не критично и хотелось бы этого избежать. Как переносимо это отключить? Ну или хотябы для конкретных рантаймов?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]