gpt4 book ai didi

c++ - 检查 std::vector 是否仅由真值组成

转载 作者:搜寻专家 更新时间:2023-10-31 00:57:13 24 4
gpt4 key购买 nike

确定包含 boolean 值(通常优化为位数组)的 vector 是否仅包含真值的最快方法是什么?对于小 vector ,我认为将 vector 与另一个仅存储真实值的 vector 进行比较可能不是一个坏主意(假设我们知道两个 vector 的大小)。

最佳答案

给定const vector<bool> foo(13)使用 find :

cout << (find(foo.begin(), foo.end(), false) == foo.end()) << endl;

或者如果你有 你可以 none_of :

cout << none_of(cbegin(foo), cend(foo), logical_not<bool>()) << endl;

或者,如果您知道您的 vector编译时的大小你可以使用 bitset '一个 all 方法:

bitset<13> foo;

cout << foo.all() << endl;

Live Examples

关于c++ - 检查 std::vector<bool> 是否仅由真值组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37842178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com