如何檢查向量中的每個單個元素是否爲零而不循環遍歷它們?檢查整個向量是否爲零
當前我有(半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