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,我该如何克服?
...全文
52 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧