首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数,迭代器,比较运算符的有关问题

2012-05-01 
函数,迭代器,比较运算符的问题C/C++ codebool find(listint::iterator iterFirst, listint::iterator

函数,迭代器,比较运算符的问题

C/C++ code
bool find(list<int>::iterator iterFirst, list<int>::iterator iterSecond, int i){    list<int>::iterator tmp;    //不知道为什么不能使用>和<运算符,==和!=可以用,是编译时出的错。    if(iterFirst > iterSecond)//error!    {        tmp = iterFirst;        iterFirst = iterSecond;        iterSecond = tmp;    }    for(tmp = iterFirst; tmp != iterSecond; ++ tmp)    {        if(*tmp == i)            return true;    }    return false;}

不能使用大于和小于运算符,等于和不等却可以用,main函数中两个迭代器指向同一个list<int>类型,所以可以使用大于和小于运算符的。

[解决办法]
迭代器 分 双向和随机的。
只有随机的支持 <
list 是双向的,不支持随机的,所以 list 的迭代器仅仅支持 !=.

热点排行