Namespaces
Variants

std::bitset<N>::set

cppreference.net에서 가져옴
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 더 이상 사용되지 않음)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
스왑 및 타입 연산
(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& 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

예외

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

예제

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