- 인라인 함수는 호출될 때 일반적인 함수의 호출 과정을 거치지 않고, 함수의 모든 코드를 호출된 자리에 바로 삽입하는 방식이다.
- inline 함수가 길 경우에는 컴파일 빌드에서 나온 결과물의 크기가 커지게 된다.
- 호출시간은 절약되나 호출 과정으로 생기는 여러 이점을 포기하므로
코드가 매우 적은 함수만을 사용하는 것이 좋다.
#include <iostream>
using namespace std;
inline int square(int x) {
return x * x;
}
int main() {
int x = square(10);
cout << x << endl;
return 0;
}
100
#define 선행처리 지시문에 인수로 함수의 정의를 전달하여 함수처럼 동작하는 매크로를 만든다.
#include <iostream>
#define SQUARE(X) X*X
using namespace std;
int main() {
int x = SQUARE(10);
cout << x << endl;
int num = 10;
cout << SQUARE(++num) << endl;
// ++num * ++num의 형식이므로 문제가 된다
}
100
144