C++/면접 대비

inline 함수에 대해 설명해주시겠어요?

WhNi 2024. 3. 21. 09:20

inline함수는  inline으로 지정된 함수를 컴파일러가 main 함수에서 실행하도록 하는 기능입니다. 함수는 호출할때 새로운 스택프레임을 생성하여 호출하게 됩니다. 그러나 inline을 붙인다면 함수 전체를 main함수의 본문으로써 인식하게 됩니다. 이로써 오버헤드를 줄이는 효과도 있지만, 남발하게 된다면 본문의 크기가 커지니 메모리 사용량이 증가할수도 있습니다.

하지만 간단한 코드가 아니라면 코드 본문의 크기가 커지게 됨으로, inline이 제대로 작동하지 않을 가능성도 있습니다.