【发布时间】:2013-07-22 12:19:51
【问题描述】:
我有以下代码使用基于范围的for-loops (C++11):
vector<atom> protein;
...
for(atom &atom1 : protein) {
...
for(atom &atom2 : protein) {
if(&atom1 != &atom2) {
...
}
}
}
有没有更好/更干净/更快的方法来编写这个嵌套循环?没有办法在第二个循环中包含if 条件吗?
【问题讨论】:
-
“更快”?更快的是,一旦你写了这个,不要浪费你的时间来重写它。 不是 那不好。
-
代替删除的对角线,您可以为严格的上三角形编写传统的
for循环,并将两个交换语句放入主体中。 -
你可以写一个 for 循环而不是 foreach 循环,然后执行 'for(j = i +1...' 并保存 if 条件
标签: c++ for-loop c++11 nested-loops