본문 바로가기
[ C++ ]/- C++ 문법정리

C++ 04 [인라인 함수]

by MRG 2023. 3. 22.
728x90
반응형

https://namu.wiki/w/%EC%98%A4%EB%B2%84%ED%97%A4%EB%93%9C

 

오버헤드 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

▣ 오버헤드 : 어떤 명령어를 처리하는데 소비되는 간접적, 추가적 컴퓨터 자원

 

▣ 함수 호출 오버헤드 : 함수 호출에 따른 시간흐름

 

▣ sum함수를 호출할 때  num1+num2 연산을 하는 시간보다 함수를 호출하는 시간, 리턴에 따른 시간이 더 많이 들어간다. 그렇기 때문에 짧은 코드 함수는 인라인 함수를 사용하면 속도해야 처리속도라 빨라진다.

 

▣ 인라인함수 : inline 키워드를 이용해서 선언한다.

 

▣ 인라인함수를 통해서 호출하게 되면 함수의 코드를 그대로 호출한 함수에 삽입하여 컴파일을 하기 때문에 실행 속도가 빨라진다.

 

 

▣ 위에 예시처럼 인라인함수를 호출하면 mian함수에 들어있는 것처럼 코드를 삽입한다. 

그리고 인라인함수는 단순삽입을 하기 때문에 속도가 빨라지지만 전체의 코드가 커지게 되는 단점이 있다.

 

▣ 인라인 함수는 재귀 함수, static 변수, switch문, 반복문, goto문 등은 사용할 수 없다.

 

▣ 클래스에도 멤버함수들에 대한 부분은 자동으로 인라인 함수로 자동 처리된다.

728x90
반응형

댓글