좋은 인라인 후보는 작고, 보이고, 측정으로 확인된다
인라인은 매크로보다 안전하지만, 아무 함수에나 붙이면 코드 크기와 디버깅 비용이 커질 수 있습니다.
작은 본문
return a + b;처럼 펼쳐도 코드가 거의 늘지 않습니다.
자주 호출
루프 안의 짧은 접근자처럼 호출 비용이 누적될 때 후보가 됩니다.
헤더 정의
호출하는 파일이 본문을 볼 수 있어야 컴파일러가 펼칠 수 있습니다.
측정 우선
키워드보다 최적화 옵션과 실제 성능 측정 결과를 믿어야 합니다.
큰 함수 금지
복잡한 함수는 복사될수록 코드 크기와 캐시 부담이 커집니다.
강제라고 오해 금지
컴파일러는 적합하지 않으면 일반 호출을 유지할 수 있습니다.
매크로보다 인라인 함수가 안전한 이유
#define SQUARE(x) ((x) * (x))
inline int square(int x) {
return x * x;
}
인라인 함수는 타입 검사를 받고, 매크로처럼 인자를 단순 텍스트로 두 번 펼치는 위험을 줄입니다.
핵심: 작은 함수, 헤더에서 보이는 정의, 타입 안전성, 측정 결과가 함께 맞을 때 인라인 후보로 봅니다.