Prosto

인라인(inline) 함수 본문

Programing/C++ Programing

인라인(inline) 함수

Prosto 2011. 9. 25. 13:05

인라인 함수 공부에 앞서

C의 매크로 함수에 대한 어느정도의 지식이 필요합니다.
(매크로 함수의 장점, 단점.. 매크로 함수의 기능 ....)

간단하게 말하면, C의 매크로 함수는
함수 정의를 사용한 경우와 다르게 간단하게 처리를 하여, 성능의 향상을 주는 장점이 있고,
단점으로는 디버깅의 어려움, 함수 정의 방식이 일반함수에 비하여 더 복잡하다는 것이죠.

간단한 코드.
#define SQUARE(X) ((X)*(X))

int main(void)
{
printf("%d \n", SQUARE(5));
return 0;
}
위 코드에서  SQUARE(5)가 들어간 자리는
((5)*(5))로 치환되어 실행됩니다.



인라인 함수는 그러한 매크로 함수의 장점을 이용하여 프로그램의 성능 향상을 위하여
새로 도입된 키워드 입니다.
(매크로 함수의 복잡한 정의를 보다 쉽고, 효율적으로 이용하기 위하여.)
인라인은 정보를 제공하고, 그것을 참고하여 컴파일이 처리를 해줍니다.(컴파일의 판단으로)

인라인 함수의 선언, 정의는
inline int SQUARE (int x)
{
retrun x*x;
}
와 같은 형식입니다.
(선언, 정의 앞에 inline 키워드)

하지만, 매크로 함수는 자료형이 자유로운 반면, 인라인 함수는 자료형이 정해져있는 단점이 있습니다.
(탬플릿(template)을 이용하여 해결 가능.)


+
매크로 함수는 선행처리기가 처리하지만,
인라인 함수는 컴파일러가 처리하는 차이점도 보입니다.

'Programing > C++ Programing' 카테고리의 다른 글

클래스를 이용한 예제. (좌표 점 이동)  (0) 2011.09.27
이름공간(name space)  (0) 2011.09.25
매개변수의 디폴트 값.  (0) 2011.09.25
Function Overloading  (0) 2011.09.25
C++ 공부 시작.  (0) 2011.09.25
Comments