Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

bitset::flip

公众成员函数  <bitset>

C++98; all bits (1)
bitset& flip();
single bit (2)
bitset& flip (size_t pos);
C++11; all bits (1)
bitset& flip() noexcept;
single bit (2)
bitset& flip (size_t pos);

翻转bit位
翻转bit位的值,将0转换为1,将1转换为0:
(1) all bits
翻转bitset中的所有位。

(2) single bit
反转pos位置的位。

☲  参数


pos
被修改的位的顺序位置。
顺序位置从最右位开始计数,即顺序位置0。
如果pos等于或大于bitset size,则抛出out_of_range异常。
Size_t是一个无符号整型。

☉  返回值



*this

☣  示例



// bitset::flip
#include <iostream>       // std::cout
#include <string>         // std::string
#include <bitset>         // std::bitset

int main ()
{
  std::bitset<4> foo (std::string("0001"));

  std::cout << foo.flip(2) << '\n';     // 0101
  std::cout << foo.flip() << '\n';      // 1010

  return 0;
}

输出:
0101
1010

⇄ 数据竞争


bitset和它的bits都被修改。

☂ 异常安全性



对于(1):它从不抛出异常(无抛出保证)。
对于(2):在异常的情况下,该对象处于有效状态(基本保证)。
如果pos等于或大于bitset大小,函数将抛出out_of_range异常。

🍄  另请参阅



bitset::set 设置bit(公共成员函数)
bitset::reset 重置bit(公共成员函数)

联系我们 免责声明 关于CandCplus 网站地图