승쨩개발공부
[C++] 매크로(Define) 본문
매크로
단순치환
매크로가 사용된 코드라인에 매크로의 기능을 단순히 치환시킨다.
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 |