迭代器用法 - 棉绒警告

时间:2012-01-09 09:17:03

标签: c++ iterator lint

我是迭代器的新手。我使用了下面的代码,我使用迭代器解析列表中的所有元素,以确定元素是否存在于列表中。

list<int> pendingRsp;
list<int>::iterator it1;

for(int i = 1; i <= 5; i++)
   pendingRsp.push_back(i *10);

for(it1 = pendingRsp.begin(); it1 != pendingRsp.end(); it1++)
{
   if((*it1) == 50)
   {
      found = true;   
      break;
   }
}

代码工作正常,但我收到以下Lint警告:

信息1702:运算符'运算符!='既是普通函数'运算符!=(const对&lt;&lt; 1&gt;,&lt;&gt;&gt;&amp;,const对&lt;&lt;&lt;&gt;,&lt;&gt;&gt; ;&gt;&amp;)'和成员函数'list :: const_iterator :: operator!=(const const_iterator&amp;)const'

上述警告是什么意思?在列表中的运算符重载!=运算符和迭代器之间是否存在冲突?

1 个答案:

答案 0 :(得分:3)

这正是它所说的。列表迭代器是pairpair具有operator!=函数,但列表迭代器类也有自己的operator!=函数。由于两个运算符完全相同(因为在第一个元素上匹配的任何两个对也在第二个元素上匹配),您可以放心地忽略该警告。