我有一个实现对象队列的 STL 列表。 STL 列表有时是空的,我通过测试“q.begin()==q.end()”确认了这一点,但令人惊讶的是 q.size() 等于 1 而不是零!
为了确保,我在代码中添加了以下几行:
if (q.size()==0) return q.end(); if (q.begin()==q.end()) return q.end();
第一个“if 条件”不返回,而第二个“if 条件”返回! GDB 调试器显示 _M_Size 也等于 1 这个问题可能是什么原因造成的! 谢谢。