std::bitset<N>::all, std::bitset<N>::any, std::bitset<N>::none
来自cppreference.com
(1) | ||
bool all() const; |
(C++11 前) | |
bool all() const noexcept; |
(C++11 起) (C++23 前) |
|
constexpr bool all() const noexcept; |
(C++23 起) | |
(2) | ||
bool any() const; |
(C++11 前) | |
bool any() const noexcept; |
(C++11 起) (C++23 前) |
|
constexpr bool any() const noexcept; |
(C++23 起) | |
(3) | ||
bool none() const; |
(C++11 前) | |
bool none() const noexcept; |
(C++11 起) (C++23 前) |
|
constexpr bool none() const noexcept; |
(C++23 起) | |
1) 检查是否全部位被设为 true。
2) 检查是否任一位被设为 true。
3) 检查是否没有位被设为 true。
参数
(无)
返回值
1) 在全部位被设为 true 时返回 true,否则返回 false。
2) 在任一位被设为 true 时返回 true,否则返回 false。
3) 在没有位被设为 true 时返回 true,否则返回 false。
示例
运行此代码
#include <bitset> #include <iostream> int main() { std::bitset<4> b1("0000"); std::bitset<4> b2("0101"); std::bitset<4> b3("1111"); std::cout << "bitset\t" << "all\t" << "any\t" << "none\n"; std::cout << b1 << '\t' << b1.all() << '\t' << b1.any() << '\t' << b1.none() << '\n'; std::cout << b2 << '\t' << b2.all() << '\t' << b2.any() << '\t' << b2.none() << '\n'; std::cout << b3 << '\t' << b3.all() << '\t' << b3.any() << '\t' << b3.none() << '\n'; }
输出:
bitset all any none 0000 0 0 1 0101 0 1 0 1111 1 1 0
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 693 | C++98 | 未提供成员函数 all()
|
已提供 |
参阅
返回设置为 true 的位的数量 (公开成员函数) | |
(C++20) |
计量无符号整数中为 1 的位的数量 (函数模板) |