함수는 인자 값을 복사하고, 함수로 이동한 다음, 실행을 마치고 다시 돌아오는 반면,
인라인 함수는 컴파일 시점에 기계어 코드를 치환하기 때문에 성능 하락이 없다.
다만 인라인 함수를 사용하면 코드가 길어질 수 있기 때문에, 보통 짧은 함수들에 사용한다.
다른 파일에 있는 인라인 함수를 사용할 때는 헤더 파일 내에 구현부가 꼭 있어야 한다.
(같은 파일 내에는 상관 없다.)
위에서 인라인 함수는 "컴파일 시점"에 기계어 코드를 치환한다고 했는데, 헤더에 선언하고 소스에 구현한다면 이미 컴파일된 소스에서 어디가 인라인 함수인지 알 수가 없기 때문이다.
'프로그래밍 > C++' 카테고리의 다른 글
후위 반환 형식 trailing return type/ suffix return type (0) | 2017.10.08 |
---|---|
함수를 못 쓰게 하기 (0) | 2017.10.08 |
함수 오버로딩 (0) | 2017.10.08 |
디폴트 파라미터 (0) | 2017.10.08 |
printf 형식지정자 (0) | 2017.10.03 |