본문 바로가기
공부/개발노트

[C/C++] 매크로 함수

반응형
매크로 함수의 장점

 

"일반 함수에 비해 실행 속도가 빠르다."

"자료형에 따라서 별도의 함수를 정의하지 않아도된다."

 

매크로 함수의 단점

 

"정의하기가 어렵다. 복잡한 함수를 매크로의 형태로 정의하는데 한계가 있다."

"디버깅하기 어렵다."

 

매크로 함수의 예시

 

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#define SQUARE(x) ((x)*(x))
using namespace std;
 
int main()
{
    cout << SQUARE(5<< endl;
    
    return 0;
}
 
cs

 

위 코드는 전처리 과정을 거치면 다음과 같이 변경되어 컴파일된다. 여기서 중요한 점은 함수의 몸체부분이 함수의 호출문을 대체했다는 점이다.

 

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main()
{
    cout << ((5)*(5)) << endl;
    
    return 0;
}
cs

 

C언어 매크로함수가 궁금하다면 링크를 눌러 이동해보고 공부하고 오면 인라인함수가 더욱 잘 이해가 된다.

매크로 함수에 대해 자세히 설명되어있다.

 

반응형