是否有 STL 算法或快速技术来测试数组的所有成员是否都设置为相同的值?
例如,我有一个带有默认值的数组:
bool *finishFlags =new (std::nothrow) bool[numOfBools];
//Init all to false:
for(int i = 0 ; i < numOfBools; ++i){
*finishFlags++ = false;
}
现在,在运行时,一些数组成员被设置为 true,我想测试它们是否都设置为相同的值(在这种情况下为 true)。有没有一种快速的方法可以在没有典型数组的情况下做到这一点迭代?
最佳答案
保留一个计数器并在标志翻转真或假时加/减。那么 if ctr == numOfBools
或者 ctr == 0
它们都是一样的。
编辑:应该添加你需要检查,这样你就不会在 bool 已经关闭时减去或在它已经打开时添加。
关于c++ - 检查所有数组成员是否具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18429805/