Namespaces
Variants

std::bitset<N>:: set

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