std::bitset<N>::all, std::bitset<N>::any, std::bitset<N>::none

来自cppreference.com
< cpp‎ | utility‎ | bitset
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
 
(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 的位的数量
(函数模板)