본문 바로가기

C++ 기초 1

[C++] 1-9 인라인 함수 장점과 단점

인라인 함수란?

   인라인 함수는 일반 함수처럼 호출하여 사용하는 것이 아니라 호출한 위치의 라인상에 직접 복사하여 실행하게 된다. 그래서 인라인 함수는 일반 함수를 호출하였을 때처럼 실행한 뒤 다시 복귀하는 시간이 소모되지 않으므로 실행 속도가 더 빠르다. 

   하지만 인라인 함수의 코드가 길고 자주 호출되는 경우에는 프로그램 자체의 크기가 매우 커지게 된다. 그러므로 짧은 코드로 이루어진 함수들을 인라인 함수로 사용하는 것이 좋다. 인라인 함수를 사용하기 위해서는 inline이라는 예약어를 사용해야 한다. 그리고 인라인 함수는 반드시 호출 전에 정의되어 있어야만 main() 함수 내에서 inline으로 전개된다. 

 
예제
#include <iostream>
using namespace std;
inline int min(int a, int b)		//인라인 함수
{
	return a < b ? a : b;
}

int main()
{
	cout << "min(10, 50): " << min(10, 50) << endl;
	cout << "min(100, 30): " << min(100, 30) << endl;
	return 0;
}
결과
min(10, 50): 10
min(100, 30): 30

※ 예약어 inline을 이용해서 min() 함수를 인라인 함수로 사용하기 위해서는 main() 함수 앞에서 정의되어야 한다. 
참고

1. 장인성 외 5인, (초보자도 쉽게 따라 할 수 있는) C++프로그래밍, 광문각, 2017.02.13