2012-12-10 102 views
2

我想要计算的瓦特值,在两个点之间的距离,反复。在我ACLASS我有成员一样X,YW¯¯。所以我使用Pitagoras定理,但如何使用迭代器顺利地完成它?这是我的尝试,但我不知道怎么用iterator参考“以前比指出”值。 请帮助:)C++指连续值与迭代

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); 
      } 
+2

小心! 'x^2'不是“x到电源2”,它是“x XOR 2”。所以你需要实现'square()'函数或者只写x * x。 –

回答

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; 
}