fullstack

[C++] 인라인 함수 (Inline Function)

Language/C++

인라인 함수란 프로그램 라인 안으로 들어가버린 함수라는 뜻으로 기존 C 에서는 아래와 같이 매크로 함수를 사용하여 구현하였다.


1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
#define SQUARE(x) ((x)*(x))
 
int main()
{
    cout << SQUARE(5<< endl;
}



위의 코드는 전처리 과정에서 SQUARE(5) 부분이 ((5)*(5))로 치환된다.

하지만 이는 긴 함수에 대한 구현이 어려웠는데, C++ 에서는 함수 앞부분에 inline 키워드만 붙여 아래와같이 인라인화 할 수 있다.


1
2
3
4
inline int square(int x)
{
    return x*x;
}



위와 사용하면 긴 함수도 inline 키워드를 붙여 쉽게 인라인화 할 수 있지만 긴 함수를 인라인화 하면 프로그램의 크기도 커지므로 짧은 함수만 인라인화 하는 것이 좋다.


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

[C++] Reference  (0) 2015.11.29
[C++] namespace  (0) 2015.11.28
[C++] 디폴트 매개 변수 (Default Parameter)  (0) 2015.11.28
[C++] 함수 오버로딩 (Function Overloading)  (0) 2015.11.28
[C++] for문 두줄로 구구단 출력하기  (0) 2015.11.09