其中" X"是Input Iterator(输入迭代器)类型,而" a"和" b"是迭代器类型的对象。
A ==B; //相等运算符 A!=B; //不相符运算符
让我们看一个简单的示例:
#include <iostream> #include<vector> #include<iterator> using namespace std; int main() { vector<int> v{1,2,3,4,5}; vector<int>::iterator itr,itr1; itr=v.begin(); itr1=v.begin()+1; if(itr==itr1) std::cout << "Both the iterators are equal" << std::endl; if(itr!=itr1) std::cout << "Both the iterators are not equal" << std::endl; return 0; }
输出:
Both the iterators are not equal
在上面的示例中,itr和itr1是两个迭代器。这两个迭代器都是向量类型的。 " itr"是指向向量的第一位置的迭代器对象," itr1"是指向向量的第二位置的迭代器对象。因此,两个迭代器都指向相同的位置,因此条件itr1!= itr返回true并显示" Both the iterators are not equal"。
*A // 使用 * 取消引用“A”迭代器。
让我们看一个简单的示例:
#include <iostream> #include<vector> #include<iterator> using namespace std; int main() { vector<int> v{11,22,33,44}; vector<int>::iterator it; it = v.begin(); cout<<*it; return 0; }
输出:
11
在上面的示例中," it"是指向向量" v"的第一个元素的迭代器对象。取消引用迭代器*它返回迭代器'it'指向的值。
让我们看一个简单的示例:
#include <iostream> #include<vector> #include<iterator> using namespace std; int main() { vector<int> v{11,22,33,44}; vector<int>::iterator it,it1,temp; it = v.begin(); it1 = v.begin()+1; temp=it; it=it1; it1=temp; cout<<*it<<" "; cout<<*it1; return 0; }
输出:
22 11
在上面的示例中,通过使用第三个迭代器的对象(即 temp )交换了" it"和" it1"迭代器。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)