C++ 使用迭代器引用连续值

标签 c++ loops iterator

我想迭代计算 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/

相关文章:

c++ - 使用 clang 从 C++ 编译到 LLVM IR 时指定多个文件

xml - xsl :for-each loop 内的计数器

javascript - MooTools/JavaScript 变量范围

c++ - 迭代器访问冲突的原因及解决方案

c++ - 如何完全清除 QTreeWidget 选择?

c++ - 没有特殊字符的密码验证器

PHP 循环不显示帖子

iterator - 在 Boost Graph Library 中,为什么添加边会使边迭代器失效(以及其他问题)?

ruby - 在 ruby​​ 1.8.6 (each_char) 中遍历字符串的每个字符

android - 如何用C++编写Android服务