Bool 자료형 선언
bool b1 { true };
bool b2 { false };
b1 = false;
bool b3 {};
- 논리 NOT 연산자(!)를 써서 bool 값을 반전할 수 있다
bool b1 { !true };
bool b2 { !false };
출력
std::cout << true;
std::cout << false;
std::cout << std::boolalpha;
std::cout << true;
std::cout << false;
std::cout << std::boolalpha;
std::cout << true;
std::cout << false;
입력
bool b1 {};
std::cin >> b1;
0 입력 -> b1에 false 저장
1 입력 -> b1에 true 저장
그 이외의 정수 입력 -> b1에 true 저장 후, std::cin은 실패 처리
정수가 아닌 입력 -> b1에 false저장 후, std::cin 실패 처리
bool b1 {};
std::cin >> std::boolalpha;
std::cin >> b1;
false 입력 -> b1에 false 저장
true 입력 -> b1에 true 저장
그 이외의 입력(정수 포함) -> b1에 false 저장 후, std::cin은 실패 처리
std::cout << std::boolalpha와 std::cin >> std::boolalpha는 서로 독립적으로 출력과 입력에 각각 작동한다
함수
- bool을 리턴하는 함수의 이름은 대부분
is~ 또는 has~형식으로 짓는다
bool isEqual(int x, int y)
{
return x == y;
}
&&, ||
(a && b) || (c && d)
not a and (b or c);
XOR
- 피연산자의
true개수가 홀수이면 참, 짝수이면 거짓
AND(&&) 와 OR(||)과 달리 XOR은 연산자가 없다
- 대신
Bool자료형에 != 을 사용하는 것으로 대체 가능하다
if (a != b)
if (a != b != c)
if (static_cast<bool>(a) != !!b)
Reference
learncpp.com