bool test(size_t pos) const; // (1) C++98
constexpr bool test(size_t pos) const; // (1) C++23
概要
任意の位置のビットが1になっているかを判定する。
要件
pos < size()であること。
戻り値
pos番目のビットが1になっていればtrue、そうでなければfalseを返す。
例外
pos >= size()の場合、out_of_range例外を送出する。
例
#include <cassert>
#include <bitset>
int main()
{
std::bitset<4> bs("1010");
bool result1 = bs.test(1);
assert(result1);
bool result2 = bs.test(3);
assert(result2);
}
出力
参照
- P2417R2 A more constexpr bitset
- LWG Issue 907. Bitset's immutable element retrieval is inconsistently defined
- C++11で、この関数に付けられていた
constexprが取り消された。この関数は範囲外のposに対して例外を送出するため、当時のconstexpr関数の要件を満たせなかった
- C++11で、この関数に付けられていた