<aside> 💡
Flag
란?
특정 상태를 0 or 1의 비트로 나타내는 방법
주로 여러개의 상태를 하나의 정수형 변수로 관리할 때 사용
</aside>
0b101
로 표현 가능#define IS_RUNNING (1 << 0)
#define IS_VISIBLE (1 << 1)
#define IS_ERROR (1 << 2)
#define IS_FINISHED (1 << 3)
unsigned int flags = 0;
// 상태 설정
// 해당 상태를 추가
flags |= IS_RUNNING; // 실행 상태로 전환
flags |= IS_VISIBLE; // 보이게 설정
// 상태 해제
flags &= ~IS_VISIBLE; // 숨김
// 상태 확인
// flags 가 IS_ERROR 상태라면 0이 될 수 없기 때문에 무조건 실행
if (flags & IS_ERROR) {
printf("에러 발생!\\n");
}
TIL/Computer System/플래그(flag).md at main · ayeon59/TIL
Special Thanks to @Anonymous