승쨩개발공부

[C++] 매크로(Define) 본문

C++

[C++] 매크로(Define)

SeungHyune 2021. 12. 1. 01:24

매크로

단순치환

매크로가 사용된 코드라인에 매크로의 기능을 단순히 치환시킨다.

 

1. 매크로 상수

전처리 단계에서 매크로 이름을 명시한 상수 값으로 정의해놓는다.

이후, 컴파일(번역) 시점에 매크로 이름이 사용된 코드를 상수로 단순 치환한다.

 

#define 매크로이름 상수

 

#define PI 3.14f

 

cout << PI <<endl;   // cout << 3.14f << endl;

 

 

2. 매크로 함수

매크로를 함수처럼 사용하겠다.

매크로함수는 일반 함수의 호출 연산을 줄일 수 있다.

->단순 치환

 

#define ADD(a)   a + a

cout << ADD(5) << endl;     // cout << 5 + 5 << endl;

 

매크로 함수를 정의할 경우에는 연산자 우선순위를 생각해서

소괄호로 묶어주는 습관을 가지자

 

매크로는 할 줄로만 매크로로 인식한다.

매크로를 두 줄 이상 표현하기 위해서는 매크로 뒤에 역슬러쉬를 추가해야한다.

 

매크로 함수의 장단점

매크로 함수의 장점

함수 호출에 필요한 연산을 줄일 수 있다.

-> 속도가 빠르다

 

매크로 함수의 단점

복잡한 기능을 구현하는데 까다롭다.

-> 디버깅이 불가능하다.

'C++' 카테고리의 다른 글

[C++] 파일분할  (0) 2021.12.01
[C++] 조건부 컴파일  (0) 2021.12.01
[C++] 레퍼런스  (0) 2021.11.30
[C++] 함수 포인터  (0) 2021.11.30
[C++] 공용체 (union)  (0) 2021.11.30