在我的代码库上运行 cppcheck 并收到以下错误:
Dangerous iterator comparison using operator< on 'std::deque'.
但是双端队列的迭代器是随机访问迭代器,随机访问迭代器支持不等式运算符。那么给了什么?
例子:
#include <deque>
int main()
{
std::deque<int> d;
std::deque<int>::iterator di1 = d.begin();
std::deque<int>::iterator di2 = d.end();
if (di1 < di2)
{
// (error) Dangerous iterator comparison using operator< on 'std::deque'.
}
return 0;
}