我想迭代计算 w 的值,即两点之间的距离。在我的Aclass中,我有像x,y和这个w这样的成员。所以我使用皮塔戈拉斯定理,但是如何使用迭代器顺利地做到这一点?这是我的尝试,但我不知道如何使用迭代器引用“之前指向的”值。 请帮忙:)
Aclass temp;
for (ars::cClassC::iterator it = New_Diff.begin(); it != New_Diff.end(); it++)
{
temp.w = sqrt(((it->getX()-(it->getX()-1))^2+((it->getY()-(it->getY()-1)));
New_Diff.push_back(temp);
}
最佳答案
只需保存前一个元素:
ars::cClassC::iterator it_prev = New_Diff.end();
for (ars::cClassC::iterator it = New_Diff.begin(); it != New_Diff.end(); it++) {
if (it_prev != New_Diff.end()) {
//do the stuff here, now you have the two elements
}
it_prev = it;
}
关于C++ 使用迭代器引用连续值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801829/