[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

[Linux] 쉘 스크립트에서 멀티프로세스(혹은 스레드) 기능 사용하기

> 백그라운드로 명령어를 실행해서 병렬적으로 실행되는 멀티 프로세스 환경을 만들어보자.## 환경- Linux 기반 시스템- Bash shell(/bin/bash)## 멀티프로세스? 병렬처리? 멀티스레드? 백그라운드 프로세스?- 여기서 진행할 방식...… Continue reading