[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