VC中的std::list的困惑

maquanwei 2004-02-20 09:08:13
我写了这么一段程序:
CElemList::iterator iter;

#ifdef _DEBUG
long lCount = m_OldSelElem.size();
#endif

for (iter = m_OldSelElem.begin(); iter != m_OldSelElem.end(); iter++)
{
pElem = *iter;
pElem->Select(false);
pElem->Draw(&dc);
}

其中:m_OldSelElem是std::list的实例化对象。

我想,如果m_OldSelElem的size为零,是不应该进入下面的循环的。
可是在调试的时候,我遇到了麻烦。程序总是崩溃。经过调试,发现即使在m_OldSelElem.size()为零的情况下,我还是进入了for循环,并且在循环的第一句崩溃。这种情况不是每次都发生,有的时候,我看到程序是按照我预想的那样运行的,即:m_OldSelElem.size()为零的时候不进入for循环。

这是怎么回事呢?我不知道这是我的用法的问题,还是VC6的Bug。如果是VC的Bug,我该如何克服?
...全文
20 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2004-02-20 09:08
社区公告
暂无公告