c++ - 检查所有数组成员是否具有相同的值

标签 c++ algorithm

是否有 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/

相关文章:

algorithm - 当发行人使用 SHA-1 时,是否可以生成 subca 或使用 SHA-2 签署任何 csr

python - 检查数字中的数字是否在python中递增

c++ - C++ 编译器是为所有成员方法生成 "this"指针,还是只为引用成员的方法生成指针?

c++ - '-print_statistics' 链接器选项在 Xcode 中产生错误

c++ - 如何设置类的内部结构

C++ 和嵌入式 Python - NUL 终止字符串

algorithm - 盒子塔(堆叠立方体)

文本中多词匹配的算法

c++ - 我的 QTreeWidgetIcons 在哪里?

c++ - 这是什么类型的排序,它的运行时间是多少?