🌈 프로그래밍/C++

[C++] 1.1.8 논리 연산자

반응형

 

안녕하세요? 수구리입니다.

 

지난 시간에는 조건문에 대하여 살펴보았는데요 오늘은 논리 연산자에 대하여 알아보도록 하겠습니다!

 

간단하니까 가볍게 읽어보세요!

 

 

  • C++에서는 단락 논리 (short-circuit logic) (축약 논리) 방식으로 평가한다.
  • 즉, 식을 평가하는 도중에 결과가 확정되면 나머지 부분은 평가를 하지 않는다.
// bool1이 true라면 전체가 true이므로 나머지 연산은 평가하지 않는다.
bool result = bool1 || bool2 || (i > 7) || (27 / 13 % i + 1) < 2;
  • 만약 뒤에 프로그램 상태에 변화를 주는 표현식이 뒤에 나오도록 작성한다면 버그를 찾기 상당히 까다롭다.

 

bool result = bool1 && 0 && (i > 7) && !done;
  • 단락 기능은 프로그램의 성능을 높이는데 도움이 된다.
  • 논리식을 작성할때 tip
    • 가볍게 검사할 수 있는 부분을 앞에 둔다.
    • 시간이 오래 걸리는 부분은 뒤에 둔다.
    • 포인터 값이 올바르지 않을 때 그 포인터를 사용하는 표현식이 실행되지 않도록 단락을 활용하면 좋다.

 

이상 논리연산자에 대하여 알아보았습니다.

 

다음 포스팅에서는 함수에 대해서 알아보겠습니다~

 

감사합니다!

반응형

'🌈 프로그래밍 > C++' 카테고리의 다른 글

[C++] 1.1.11 std::array  (0) 2021.08.13
[C++] 1.1.9 함수  (0) 2021.08.13
[C++] 1.1.7 조건문  (0) 2021.08.12
[C++] 1.1.6 타입  (0) 2021.08.12
[C++] 1.1.5 연산자  (0) 2021.08.12