std::
bitset::set
公众成员函数 <bitset>
C++98; |
all bits (1) |
bitset& set();
|
|
single bit (2) |
bitset& set (size_t pos, bool val = true);
|
C++11; |
all bits (1) |
bitset& set() noexcept;
|
|
single bit (2) |
bitset& set (size_t pos, bool val = true);
|
设置bit位
设置bit位:
- (1) all bits
- 将bitset中的所有位设置为1。
- (2) single bit
- 设置val为pos位置的bit的值。
☲ 参数
-
pos
-
被修改的位的顺序位置。
顺序位置从最右位开始计数,即顺序位置0。
如果pos等于或大于bitset size,则抛出out_of_range异常。
Size_t是一个无符号整型。
-
val
-
要存储在bit中的值(1为真,0为假)。
☉ 返回值
*this
☣ 示例
// bitset::set
#include <iostream> // std::cout
#include <bitset> // std::bitset
int main ()
{
std::bitset<4> foo;
std::cout << foo.set() << '\n'; // 1111
std::cout << foo.set(2,0) << '\n'; // 1011
std::cout << foo.set(2) << '\n'; // 1111
return 0;
}
|
输出:
1111
1011
1111
⇄ 数据竞争
bitset和它的bits都被修改。
☂ 异常安全性
对于(1):它从不抛出异常(无抛出保证)。
对于(2):在异常的情况下,该对象处于有效状态(基本保证)。
如果pos等于或大于bitset大小,函数将抛出out_of_range异常。
🍄 另请参阅