Namespaces
Variants

std::bitset<N>:: flip

From cppreference.net
Utilities library
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)