[c++] 인라인 함수와 매크로 함수의 선언 방식 비교

C++에서 함수를 최적화하여 실행 속도를 높이는 방법으로 인라인 함수와 매크로 함수가 있습니다. 이번 포스트에서는 각각의 함수를 선언하는 방식을 비교해 보겠습니다.

인라인 함수

인라인 함수는 inline 키워드를 사용하여 선언합니다.

inline int add(int a, int b) {
    return a + b;
}

인라인 함수의 장점은 함수 호출 오버헤드를 줄여 실행 속도를 높일 수 있다는 것입니다. 하지만 함수가 간단하거나 호출 횟수가 많을 때만 적합하며, 코드 크기가 커질 수 있습니다.

매크로 함수

매크로 함수는 #define 지시어를 사용하여 선언합니다.

#define ADD(a, b) ((a) + (b))

매크로 함수는 컴파일러에 의해 일대일로 치환되기 때문에 함수 호출 오버헤드가 발생하지 않습니다. 하지만 디버깅이 어렵고, 인자의 타입을 체크하지 않기 때문에 예기치 않은 결과가 발생할 수 있습니다.

결론

인라인 함수와 매크로 함수는 각각의 특징을 가지고 있으며, 사용하는 상황에 따라 적합한 방식을 선택해야 합니다. 기능적인 측면과 코드 유지보수를 고려하여 적절한 방법을 선택하는 것이 중요합니다.

이상으로 C++ 인라인 함수와 매크로 함수의 선언 방식에 대해 비교해 보았습니다.

References