我想迭代地计算w的值,即两点之间的距离。在我的 Aclass 中,我有 x,y 和 w 等成员。所以我使用Pitagoras定理,但如何使用迭代器顺利完成?这是我的尝试,但我不知道如何使用迭代器引用“previous than pointed”值。 请帮助:)
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);
}
答案 0 :(得分:3)
只需保存上一个元素:
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;
}