<CPP>/BASIC

21. 인라인 지정자(Inline)

CodeGrimie 2021. 1. 25. 12:17

인라인(inline) 지정자는 CPP에서 추가된 새로운 기능이다.

 

보통 함수와 같이 사용되고 둘을 묶어서 인라인 함수라고 부른다.

컴파일러에게 코드를 풀어서 작성하라고 지시하는 기능을 하는데 C의 매크로와 동일한 역활을 한다.

작성법이 기존 함수와 같은 것도 있고 무엇보다도 컴파일할 때 디버깅이 편리해졌다.

 

▼ 인라인 함수 예시

#include <cstdio>

// INLINE FUNCTION
inline int Compare(int lhs, int rhs)
{
    return (lhs - rhs);
}

int main()
{
    int A = 10;
    int B = 5;

    // CODE
    if (Compare(A, B) > 0)
        printf("A is Bigger then B\n");

    // COMPILER
    int lhs = 10;
    int rhs = 5;
    if ((lhs - rhs) > 0)
        printf("A is Bigger then B\n");

    return (0);
}

매크로 쓰지 말라고 만든 기능인 만큼 매크로를 사용해야 할 경우가 생긴다면 CPP에서는 이유불문하고 인라인 함수를 사용하는 것이 좋다.

 

단점 역시 매크로와 동일한데 코드를 일일이 작성하는 것과 같기 때문에 실행파일 크기가 커진다.

그리고 컴파일 할 때 작동하기 때문에 해당 인라인 함수가 사용되는 모든 코드다시 컴파일해야 변경점이 수정된다.

 

진짜 불가피하게 매크로 써야할 때 인라인 함수로 작성하는 것은 좋다.