250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[C++] inline 함수 본문

[Snow-ball]프로그래밍(컴퓨터)/C, C++

[C++] inline 함수

Snow-ball 2020. 10. 7. 10:39
반응형

* inline함수 ( inline함수는 강제가 아니라 요청하는 함수라서 inline이 적용될 때만 사용이 됩니다)

 

- 함수 호출 절차를 따르지 않고 함수 호출 위치에 함수의 처리문장이 삽입되게 번역하도록 선언된 함수입니다.

- 함수를 사용함으로써 얻을 수 있는 모듈화의 장점을 살리면서, 함수 호출에 따른 부수적인 처리시간이 생략됩니다.

- 함수 호출 루틴으로 부터 함수로 넘어가는 부분의 코드 최적화가 가능해집니다 > 매우 빈번히 호출되며 빠른실행이 요구되는 함수를 inline함수로 선언하면 성능을 높이는되 도움됩니다.

 

 

 

 

 

* inline 함수의 선언 위치

일반 함수는 선언과 함께 함수의 정의가 이루어지는 것이므로, 한 프로젝트 내에서는 1회만 선언합니다. 만일 여러 개의 소스 프로그램 파일에서 호출해야 한다면 함수의 선언은 1회만 하고 나머지 파일에는 함수의 원형만 선언합니다. 그러나 inline 함수의 선언은 함수의 정의가 이루어지는 대신 호출 위치에 함수의 처리 문장이 삽입됩니다. 따라서 inlnine 함수는 그 함수를 사용하는 C++ 소스 프로그램 파일마다 선언해야 합니다. 즉, f()라는 함수가 inline 함수이고, 이 함수를 한 프로젝트 내에 포함된 a.cpp와 b.cpp라는 두 소스 프로그램에서 호출하게 되어 있다면 동일한 내용을 a.cpp와 b.cpp에 모두 선언하여야 합니다.

반응형
Comments