std::bitset<N>:: operator[]
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member types | ||||
| Member functions | ||||
|
(until C++20)
|
||||
| Element access | ||||
|
bitset::operator[]
|
||||
| Capacity | ||||
| Modifiers | ||||
| Conversions | ||||
|
(C++11)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++11)
|
||||
|
bool
operator
[
]
(
std::
size_t
pos
)
const
;
|
(1) | (constexpr начиная с C++11) |
|
reference operator
[
]
(
std::
size_t
pos
)
;
|
(2) | (constexpr начиная с C++23) |
Обращается к биту в позиции pos .
|
Если pos < size ( ) равно false , поведение не определено. |
(до C++26) |
|
Если pos < size ( ) равно false :
|
(начиная с C++26) |
Содержание |
Параметры
| pos | - | позиция возвращаемого бита |
Возвращаемое значение
Исключения
Ничего не выбрасывает.
Пример
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b1{0b00101010}; // двоичный литерал для 42 for (std::size_t i = 0; i < b1.size(); ++i) std::cout << "b1[" << i << "]: " << b1[i] << '\n'; b1[0] = true; // изменяет первый бит через bitset::reference std::cout << "After setting bit 0, b1 holds " << b1 << '\n'; }
Вывод:
b1[0]: 0 b1[1]: 1 b1[2]: 0 b1[3]: 1 b1[4]: 0 b1[5]: 1 b1[6]: 0 b1[7]: 0 After setting bit 0, b1 holds 00101011
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 11 | C++98 |
1. описание отсутствовало в стандарте C++
2. была только неконстантная перегрузка |
1. описание добавлено
2. добавлена константная перегрузка |
| LWG 907 | C++98 |
поведение чтения бита в позиции
pos
было эквивалентно
поведению
test(pos)
, но
test()
может выбрасывать исключения
|
избегает упоминания
test()
|
Смотрите также
|
обращается к конкретному биту
(public member function) |