5. 전처리기, 매크로(#define)가 궁금해

2021. 11. 24. 15:57c++/기초

간단한 용법

MY_NUMBER을 만나면 333으로 교체를 한다.

함수도 가능하다.

a가 b보다 크다면 a return, 같거나 작다면 b를 return 한다.

하지만 요새 매크로는 잘 안쓴다. 그냥 함수를 사용하거나 변수를 이용하자. 혹은 라이브러리를 찾아서 사용하자.

 

또 다른 간단한 사용 방법

 

#ifdef 정의된 것

정의된 것이 있다면 #endif 까지의 코드를 실행한다.

#ifndef 정의된 것

정의된 것이 없다면 #endif 까지의 코드를 실행한다.

#else 를 사용해서 우리가 if 문을 사용할 때처럼 편~ 안하게 사용하면 된다.

 

이렇게 사용 가능.

언제 많이 쓰냐면 빌드를 시작하기전에 window인지 Linux인지 알자.

혹은 그래픽카드 카드 사양 등, 멀티 플랫폼 소프트웨어를 개발할 때 많이 사용함.

 

 

define은 그대로 교체하는 것. 그렇다면 뒤에 비어있으면 안되는 거 아님?

no. 전처리기 라인 안에서 비어있다면 그렇게 작동하진 않음. 한마디로 걍 쓰셈

 

tip

namespace는 가급적 중괄호 안에 넣어주는 것이 좋다.

전처리기는 한 파일 내에서만 효력을 발휘한다.

반응형