그린티라떼
개발공간
그린티라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (26)
    • unity (6)
      • 개발 (4)
      • iTween (0)
      • error (2)
    • 게임서버 (5)
    • C++ (7)
      • 문법 (5)
      • 알고리즘 (2)
    • C# (5)
    • CS지식 (1)
    • 기타 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 일반화
  • 함수 호출 오버헤드
  • 함수호출
  • 유니티
  • 컨테이너
  • 일반화컬렉션
  • object
  • 다중상속의 문제점
  • Container
  • 메모리영역
  • Delegate
  • inline 함수
  • cout 스트림 버퍼
  • regex
  • 제네릭
  • 유니티 빌드 에러
  • var
  • Functions
  • c#
  • C++
  • cs지식
  • property
  • Dynamic
  • delegate chain
  • unity
  • 정규 표현식
  • interface
  • Gradle build failed
  • 형식매개변수의 제약
  • 데이터타입

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
그린티라떼

개발공간

C++/문법

if문 속 비교연산에서 순서의 비밀

2021. 8. 30. 02:12

if문 작성 시 무심코 순서를 생각하지 않고 비교 연산을 하게 된다면 문제가 생길 가능성이 크다.

이유
  • if문내의 모든 논리연산은 앞의 논리부터 뒤의 논리까지 순차적으로 연산한다.
  • || 연산에서 순차적으로 앞의 논리가 참이 된다면 더 이상 연산하지 않는다.
  • && 연산에서 순차적으로 앞의 논리가 거짓이라면 더 이상 연산하지 않는다.

-> 연산을 끝까지 하지 않는 경우가 있다.

 

코드 
int a=0, b=0, c=0;

if( a == b || c++ > a ) std::cout<< "Hi";
if( c == 1 ) std::cout<< "c++";
결과

Hi

첫 if문에서 앞의 비교문 a==b 에서 참이 되므로 뒤의 비교문은 실행되지 않는다. 

 결국 c = 0이고 두번째 If문은 실행되지 않는다.

 

 

순서를 생각하며 if문을 작성하도록 하자.

'C++ > 문법' 카테고리의 다른 글

(C++) 함수의 인자 또는 리턴 값에 STL 데이터 타입에 관하여  (2) 2022.11.12
c++ regex 정규 표현식  (0) 2021.12.22
C++) Container비교  (0) 2021.08.25
C++) cout 스트림 버퍼/ 함수 호출 오버헤드/ Inline함수  (0) 2021.05.08
    'C++/문법' 카테고리의 다른 글
    • (C++) 함수의 인자 또는 리턴 값에 STL 데이터 타입에 관하여
    • c++ regex 정규 표현식
    • C++) Container비교
    • C++) cout 스트림 버퍼/ 함수 호출 오버헤드/ Inline함수
    그린티라떼
    그린티라떼

    티스토리툴바