본문 바로가기
ETC

[c++] inline 함수

by 안주형 2021. 10. 18.

인라인 함수란?

인라인 함수: inline 키워드로 선언된 함수

 

인라인 함수에 대한 처리

1. 인라인 함수를 호출하는 곳에 인라인 함수 코드를 확장 삽입

  • 매크로와 유사
  • 코드 확장 후 인라인 함수는 사라짐

2. 인라인 함수 호출

  • 함수 호출에 따른 오버헤드 존재하지 않음
  • 프로그램의 실행 속도 개선

3. 컴파일러에 의해 이루어짐

 

인라인 함수의 목적

c++ 프로그램의 실행 속도 향상

  • 자주 호출되는 짧은 코드의 함수 호출에 대한 시간 소모를 줄임
  • c++ 에는 짧은 코드의 멤버 함수가 많기 때문

인라인 함수를 사용해야 하는 이유

스크린샷 2021-10-17 오후 1 32 09

 

인라인 함수 사용 예시

스크린샷 2021-10-17 오후 1 35 20

 

인라인 함수의 장단점

장점: 프로그램의 실행 시간이 빨라진다.
단점: 인라인 함수 코드의 삽입으로 컴파일된 전체 코드 크기 증가

  • 통계적으로 최대 30% 증가
  • 짧은 코드의 함수를 인라인으로 선언하는 것이 좋음.

 

자동 인라인 함수

자동 인라인 함수: 클래스 선언부에 구현된 경우

  • inline으로 선언할 필요 없음
  • 컴파일러에 의해 자동으로 인라인 처리
  • 생성자를 포함, 모든 함수가 자동 인라인 함수 가능

스크린샷 2021-10-17 오후 1 39 23

'ETC' 카테고리의 다른 글

[git] 원격 저장소(Github)에 파일 올리기  (0) 2021.10.20
[git] 레포지토리(폴더) 이름 수정하기  (0) 2021.10.20
[ios] 에뮬레이터 위치 정보 설정하기  (0) 2021.10.19
[c++] c++의 문자열  (0) 2021.10.18
[c++] cin의 개념  (0) 2021.10.18
[c++] namespace 개념  (0) 2021.10.18

댓글