如何检查向量中的每个元素是否为零而不通过它们循环?
当前我有(以半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++;
}
Run Code Online (Sandbox Code Playgroud)
jua*_*nza 25
这取决于循环的含义,但这可行:
bool zeros = std::all_of(v.begin(), v.end(), [](int i) { return i==0; });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7934 次 |
| 最近记录: |