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

std::

bitset::operator[]

公众成员函数  <bitset>

     bool operator[] (size_t pos) const;
reference operator[] (size_t pos);


访问bit
函数返回位于pos位置的bit的值(或引用)。

使用此操作符,不执行范围检查。使用bitset::test来访问选中bit,同时执行bitset边界检测。

☲  参数


pos
其值被访问的bit的顺序位置。
顺序位置从最右位开始计数,即顺序位置0。
Size_t是一个无符号整型。

☉  返回值



位于pos位置的bit. 如果bitset对象是const限定的,该函数返回bool值。 否则,它返回一个特殊成员类型reference的值,该值对bitset中的一个bit使用 reference-semantics模拟bool值 (参见bitset::reference)。

☣  示例



// bitset::operator[]
#include <iostream>       // std::cout
#include <bitset>         // std::bitset

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

  foo[1]=1;             // 0010
  foo[2]=foo[1];        // 0110

  std::cout << "foo: " << foo << '\n';

  return 0;
}

输出:
foo: 0110

⇄ 数据竞争



bitset被访问(const和非const版本都不会修改容器)。

非const版本返回的引用可用于访问或修改bitset对象中的位。 注意,修改一个位可能会影响bitset中其他位的数量,因此并发访问/修改不同位不是线程安全的。

☂ 异常安全性



如果pos不是一个有效的位,它会导致未定义的行为。

否则,如果该成员函数抛出异常,bitset将保持有效状态(基本保证)。

🍄  另请参阅



bitset::test 测试一个bit是否被设置(公共成员函数)

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