[Algorithm] Short Circuit Evaluation이란?
Short Circuit Evaluation에 대해서 간단하게 알아보자
환경
- C, C++
Short Circuit Evaluation이란?
- Short Circuit Evaluation이란
AND혹은OR의 연산에 있어서 결과가 확실하게 예측이 되었을 때 뒤에 나머지 연산을 실행하지 않고 답을 내버리는 경우를 의미합니다.
AND 연산의 경우
AND연산의 경우에false가 우선 나와버리면AND뒤에 나오는 연산은 생략이됩니다.
OR 연산의 경우
OR연산의 경우에true가 우선 나와버리면OR뒤에 나오는 연산은 생략이됩니다.
Short Circuit Evaluation 예제
구체적인 예시는 아래 코드와 같습니다.
AND 연산의 경우
#include <stdio.h>
int main (){
int pass = 0;
int i = 0;
if(pass && i++){} //i++이 실행되지 않습니다.
printf("pass: %d i: %d\n", pass, i);
return 0;
}
결과는 아래와 같습니다.
$ ./and_example
$ pass: 0 i: 0
OR 연산의 경우
#include <stdio.h>
int main (){
int pass = 1;
int i = 0;
if(pass || i++){} //i++이 실행되지 않습니다.
printf("pass: %d i: %d\n", pass, i);
return 0;
}
결과는 아래와 같습니다.
$ ./or_example
$ pass: 1 i: 0