좋은 인라인 후보는 작고, 보이고, 측정으로 확인된다

인라인은 매크로보다 안전하지만, 아무 함수에나 붙이면 코드 크기와 디버깅 비용이 커질 수 있습니다.

작은 본문

return a + b;처럼 펼쳐도 코드가 거의 늘지 않습니다.

자주 호출

루프 안의 짧은 접근자처럼 호출 비용이 누적될 때 후보가 됩니다.

헤더 정의

호출하는 파일이 본문을 볼 수 있어야 컴파일러가 펼칠 수 있습니다.

측정 우선

키워드보다 최적화 옵션과 실제 성능 측정 결과를 믿어야 합니다.

큰 함수 금지

복잡한 함수는 복사될수록 코드 크기와 캐시 부담이 커집니다.

강제라고 오해 금지

컴파일러는 적합하지 않으면 일반 호출을 유지할 수 있습니다.

매크로보다 인라인 함수가 안전한 이유
#define SQUARE(x) ((x) * (x)) inline int square(int x) {
return x * x;
}

인라인 함수는 타입 검사를 받고, 매크로처럼 인자를 단순 텍스트로 두 번 펼치는 위험을 줄입니다.

핵심: 작은 함수, 헤더에서 보이는 정의, 타입 안전성, 측정 결과가 함께 맞을 때 인라인 후보로 봅니다.