このコードを確認してください:
#include "stdafx.h"
#include <list>
int _tmain(int argc, _TCHAR* argv[])
{
std::list<int> mylist;
mylist.push_back(1);
std::list<int>::iterator i = mylist.end();
if( i == mylist.end() )
printf( "end is end\n" );
mylist.clear();
if( i == mylist.end() )
printf( "never get here because Microsoft seems to "
"think the iterator is no longer safe.\n" );
return 0;
}
現在、cplusplus.comによると、これは問題にはならないはずです。リリース モードでは、これで問題はなく、実際には問題は発生しないと思いますが、続行せずに保釈されるため、デバッグが不可能になります。ポインタはありますか?