C++

인라인 함수

함수는 코드 재사용과 모듈화에 큰 이점을 주지만, 모든 함수 호출에는 약간의 오버헤드(Overhead)가 생깁니다. 호출마다 매개변수 스택 처리, 함수 점프, 복귀 같은 추가 작업이 필요하기 때문입니다.

오버헤드와 인라인 함수를 중심으로 인라인 함수의 판단 흐름을 읽습니다.

1

인라인 함수란 무엇인가?

인라인 함수는 함수 호출의 오버헤드를 줄이기 위해 컴파일러에게 함수 호출 부분을 함수의 실제 코드로 직접 대체(inlining) 해 달라고 요청하는 함수입니다.

오버헤드(Overhead)
2

인라인 함수의 사용 시점

inline 키워드는 컴파일러에게 인라인화를 요청하는 힌트(hint) 일 뿐, 강제하는 지시가 아닙니다.

인라인 함수(Inline Function)
3

인라인 함수의 구현 (헤더 파일)

일반적으로 함수는 .cpp 파일에 정의하고, 해당 함수의 원형(declaration)은 .h 또는 .hpp 헤더 파일에 선언합니다.

인라인 함수