c++ bool 예제

참고: 컴파일러 clang++는 부울 작업 중에 가장 중요한 비트를 확인하는 것뿐입니다. 즉, 모든 짝수 수는 false이고 모든 홀수는 true입니다. 이를 위해 C++에는 true(1) 또는 false(0)값을 취할 수 있는 bool 데이터 형식이 있습니다. 나는 «부울 값 입력»섹션에서 첫 번째 예제를 이해하는 데 어려움을 겪고 있습니다 : 변수 b가 초기화되지 않았지만, 즉 임의의 정크가 포함되어 있지 는 않지만 std::cout은 유형 (bool로 명확하게 정의되어 있음)을 참조해서는 안되므로 0 ( «정크»가 «값»0이있는 «숫자»또는 1인 경우 (다른 경우)? 내 추론에서 std::cout은 변수가 초기화되었는지 여부와 유형에서 제안 된 주어진 데이터를 처리하는지 알지 못합니다. 당신은 명확히 할 수 있습니까? C 프로그래밍 언어는 C99에서 부울 산술 연산을 기본 제공 유형 _Bool(_Bool 참조)으로 지원합니다. 헤더 가 포함되면 부울 유형도 bool로 액세스할 수 있습니다. ISO/ANSI C++ 표준은 원래 C++ 사양에 특정 새 데이터 형식을 추가했습니다. 특정 상황에서 더 나은 제어를 제공하고 C++ 프로그래머에게 편의를 제공하기 위해 제공됩니다. 새로운 데이터 형식 중 하나는 bool 구문: 예제의 목표는 부울 값을 반환 하는 간단한 함수를 표시 하는 것입니다., 그게 전부입니다. 실제로 이러한 사소한 함수를 작성하고 싶지는 않겠지만 이 기초는 main에 직접 추가하고 싶지 않은 더 복잡한 함수를 작성하도록 설정합니다. 마지막 한 가지! 나는 많은 질문을하고 있다는 것을 알고있다. 0.0 대신 0.0을 사용하면 int (내 시스템에서 4 바이트)이고 하나는 이중 (내 시스템에서 8 바이트)이기 때문에 더 많은 공간을 차지하지 않습니다. 또는 템플릿이 예를 들어 이중 fmod인 경우 어쨌든 전체 8 바이트를 차지합니까? 그래서이 코드를 해결하려고 노력하는 동안 나는 내 것을 조금 다르게 만들었습니다.

그것은 괜찮습니까 아니면 어떤 이유로 예제 솔루션이 더 나은가요? 이봐요 여러분! 나는 약간의 문제가 있습니다 – 첫 번째 기본 예제를 코딩했지만 (if 및 else 문이 입력 정수와 동일한지 여부를 결정함)하지만 프로그램은 두 번째 입력 직후에 실행이 끝나고 if / else 출력이 표시되지 않습니다. 프로그램을 완전히 종료하는 대신 사용자에게 제어를 반환하는 것을 언급하는 초기 수업을 기억하지만, 그것에 대한 메모를 찾을 수 없습니다 (그리고 여기에도 적용되는지 확실하지 않습니다). C++에서 데이터 형식 bool이 도입되어 부울 값(true 또는 false)을 보유했습니다. 참 또는 거짓 값이 C++ 언어로 키워드로 추가되었습니다. 중요 포인트: 부울 변수는 bool 키워드로 선언되며 값만 참 또는 false로 만 사용할 수 있습니다: 부울 식은 부울 값을 반환하는 C++ 식입니다: 1(true) 또는 0(false). int main() { bool b; // 초기화되지 않은 변수 std::cout <> b; std::cout << "입력: << b; 부울을 이해했는지 확인하기 위해 덜 반복되는 코드로 해결책을 마련해 보십시오. 프로그램은 정의를 취소한 다음 매크로 bool을 참과 거짓으로 재정의할 수 있습니다. 그러나 부울 식에서 부울 값을 반환하는 것이 더 일반적입니다(아래 참조).

@std::boolalpha가 설정되지 않은 경우 @std::cin.operator<<는 부울을 인쇄하기 전에 ints로 변환하므로 0과 1 이외의 관찰자 숫자를 관찰할 수 있습니다.