我有一个实现对象队列的列表。
列表有时是空的,我通过测试证实了 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
这个问题的原因是什么!