Namespaces
Variants

std::bitset<N>::flip

From ko.cppreference.net
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐지됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
swap 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
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

예외

2) 유효한 비트 위치에 해당하지 않는 pos 인 경우 std::out_of_range 를 발생시킵니다.

예제

#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)