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