std::bitset<N>::set
cppreference.net에서 가져옴
bitset& set();
|
(1) | (C++11부터 noexcept) (C++23부터 constexpr) |
bitset& set( std::size_t pos, bool value = true );
|
(2) | (C++23부터 constexpr) |
모든 비트를 true로 설정하거나, 한 비트를 지정된 값으로 설정합니다.
1) 모든 비트를
true로 설정합니다.2) 위치
pos의 비트를 값 value로 설정합니다.매개변수
| pos | - | 설정할 비트의 위치( 0 부터 계산, 즉 최하위 비트에서 최상위 비트 순서) |
| value | - | 비트에 설정할 값 |
반환값
* this
예외
예제
이 코드 실행
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b; std::cout << b << '\n'; std::cout << b.set() << '\n'; std::cout << b.reset() << '\n'; for (std::size_t i = 1; i < b.size(); i += 2) b.set(i); std::cout << b << '\n'; }
출력:
00000000 11111111 00000000 10101010
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 186 | C++98 | value 의 타입이 int 였음 | bool 로 수정됨 |
| LWG 2250 | C++98 |
pos
가 유효한 비트 위치에
해당하지 않을 때 동작이 정의되지 않았음 |
이 경우 항상
예외를 throw함 |
참고 항목
|
비트를
false
로 설정
(public member function) |
|
|
비트 값 토글
(public member function) |