인라인 함수는 호출을 본문 코드로 펼쳐 보려는 최적화 힌트다
작고 자주 호출되는 함수는 호출 비용이 실제 계산보다 커질 수 있어, 컴파일러가 호출 지점에 코드를 직접 넣을지 판단합니다.
일반 호출
int r = square(x);
함수 주소로 점프하고 매개변수 준비와 복귀 과정을 거칩니다.
인라인 시도
int r = x * x;
컴파일러가 적합하다고 보면 호출 자리에 본문을 펼쳐 넣습니다.
얻는 것함수 호출 오버헤드 감소
잃을 수 있는 것호출 지점마다 복사되어 코드 크기 증가
결정 주체
inline 키워드가 아니라 컴파일러 최적화핵심:
inline은 강제가 아니라 “이 함수는 펼쳐도 좋을 수 있다”는 제안입니다.