인-라인(in-line) 함수

인-라인(in-line) 함수

main

인-라인(in-line) 함수

  • C언어에서는 간단하고 반복적인 구문이 사용될 때 #define을 사용한다.
  • #define은 컴파일 시 전처리 과정에서 코드와 그대로 매핑 된다.
  • 함수는 스택 메모리 할당을 요구하지만 define은 코드로 매핑되기 때문에 함수보다 성능상 이점이 있다.
  • 단점으로는 간단한 구문만 사용할 수 있고 디버깅이 불편해 진다는 것이다.
#define MULT(a) (a*a)

int main(void)
{
    MULT(10);
    return 0;
}
  • C++ 에서 이를 좀 더 쉽게 사용할 수 있는데 그 방법이 inline을 사용하는 것이다.
inline int MULT(int a)
{
    return (a*a);
}

int main(void)
{
    MULT(10);
    return 0;
}
  • 이와 같이 #define와 다르게 단지 함수 앞에 inline이라는 이름만 붙여주면 된다.
  • 장점은 사용하기 간편하고 성능상 이점을 가져온다는 것으로 #define과 다르게 전처리가 아닌 컴파일러에 의해서 처리가 된다. 또한 inline으로 성능상 나빠진다고 판단되면 inline을 진행하지 않고 무시하기도 한다.

도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)

댓글 쓰기

0 댓글