我想遍历嵌套向量,而忽略外部循环当前位于的对象。注意:这段代码只是我程序的简要草稿,以免与当前的实现混淆。
class A
{
public:
int no;
}
class B: public A
{
}
class C: public A
{
}
vector<A*> objects;
for(vector<A*>::iterator it1 = objects.begin(); it1 != objects.end(); ++it1)
{
for(vector<A*>::iterator it2 = objects.begin(); it2 != objects.end(); ++it2)
{
if((*it1)->no == (*it2)->no)
{
cout << "matched";
}
else
{
cout << "no match";
}
}
}
因此,我想遍历it2的内部循环,而不是检查it1的对象。
最佳答案
只需比较迭代器即可,例如:
if(it1 != it2)
{
if((*it1)->no == (*it2)->no)
{
cout << "matched";
}
else
{
cout << "no match";
}
}