Я новичок в использовании итераторов. Я использовал приведенный ниже код, где я анализирую все элементы в списке с помощью итератора, чтобы определить, существует ли элемент в списке или нет.
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: оператор 'operator!=' является как обычной функцией 'operator!=(constpair‹‹1>,‹2>> &, constpair‹‹1>,‹2>> &)', так и функцией-членом 'list::const_iterator::operator!=(const const_iterator &) const'
Что означает приведенное выше предупреждение? Это конфликт между оператором, перегружающим реализацию оператора != в списке и итераторе?
std::find
вместо цикла for. - person Jesse Good   schedule 09.01.2012