Inline Function 이란
Runtime이 아닌 Complie 과정에서 함수를 미리 해석하여 코드를 복붙해놓는다.
매크로와 비슷하다.
Use
inline int func(int x)
{
return x;
}
VS 매크로
- 매크로는 디버깅이 힘들다
- 함수이름이 안보임
- Breakpoint 설정 불가능
- 매크로는 scope가 없음. global 변수임
- 매크로보다 inline을 이용하자!
일반 함수는 호출할 때 메모리로 한번 점프하는 과정을 걸친다.
이때 함수가 저장된 메모리가 멀리 떨어져 있을 경우 성능을 손해본다.
주의
- 정의는 했지만 컴파일러의 판단하에 인라인 적용이 될지 안될지 변경될 수 있다.
- 구현이 헤더 파일에 있어야 한다.
- 간단한 함수에 적합하다.
- 실행파일의 크기가 증가할 수 있다.