如何检查向量中的每个单个元素是否为零而不循环遍历它们?检查整个向量是否为零
当前我有(半MEW形式): 这个试图做的是检查最终向量(它的三维...年份)的全部三个值是否全为零(在原点处) ,或者它与所有三个值上的任何先前的矢量相等。
siteVisited = false; counter = 0;
while (counter < (walkHist.back().size()-1))
{
tdof = 1;
while (tdof <= dimensions)
{
if (walkHist.back().back().at(tdof-1) == 0)
{
siteVisited = true;
}
else
{
siteVisited = false;
break;
}
tdof++;
}
if (siteVisited)
{
goto visited;
}
tdof = 1;
while (tdof <= dimensions)
{
if (walkHist.back().back().at(tdof-1) == walkHist.back().at(counter).at(tdof-1))
{
siteVisited = true;
}
else
{
siteVisited = false;
break;
}
tdof++;
}
if (siteVisited)
{
visited:
...
}
counter++;
}
的'all_of'算法具有额外的好处,它可能提前退出,如果一个元素不为0,节省一些不必要的检查。 – Steve
@Steve其实,'count'的例子很糟糕,因为你提到的原因。我删除它。 – juanchopanza