[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 |