std::bitset<N>::flip
From ko.cppreference.net
bitset& flip();
|
(1) | (C++11부터 noexcept) (C++23부터 constexpr) |
bitset& flip( std::size_t pos );
|
(2) | (C++23부터 constexpr) |
비트를 뒤집습니다. 즉, true 값을 false으로 바꾸고 false 값을 true으로 바꿉니다. 이는 비트셋의 일부 또는 전체에 대한 논리 NOT 연산과 동일합니다.
1) 모든 비트를 뒤집습니다(operator~와 유사하지만 자리에서 변경합니다).
2) 위치
pos의 비트를 뒤집습니다.매개변수
| pos | - | 플립할 비트의 위치 |
반환값
* this
예외
예제
이 코드 실행
#include <bitset> #include <iostream> int main() { std::bitset<4> flops; std::cout << flops << '\n' << flops.flip(0) << '\n' << flops.flip(2) << '\n' << flops.flip() << '\n'; }
출력:
0000 0001 0101 1010
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 2250 | C++98 |
pos
가 유효한 비트 위치에
해당하지 않으면 동작이 정의되지 않음 |
이 경우 항상 예외를
발생시킴 |
참고 항목
|
비트를
true
또는 주어진 값으로 설정
(public member function) |
|
|
비트를
false
로 설정
(public member function) |
|
|
이진 AND, OR, XOR 및 NOT 연산 수행
(public member function) |
|
|
모든 비트 반전
(
std::vector<bool,Allocator>
의 public member function)
|