승쨩개발공부

[C++] 인라인(inline) 본문

C++

[C++] 인라인(inline)

SeungHyune 2021. 12. 6. 15:32

인라인 함수

메크로 함수의 장점을 취하고 단점을 보완한 함수

 

매크로(define)의 단점

1. 디버깅이 불가능하다.

2. 복잡한 함수 구현이 불가능하다.

 

 

 

 

인라인 함수가 일반 함수로 바뀌는 경우

1. 함수 포인터로 사용할 경우

2. 재귀 형태로 호출할 경우

3. 컴파일러 마음

-> inline 키워드가 있어도 컴파일러의 판단에 따라 일반함수가 될 수도 있고,

-> 반대로 inline 키워드가 없어도 인라인 함수가 될 수도 있다.

 

 

인라인 함수의 주의사항

헤더파일에 함수의 정의부까지 구현해야 한다.

-> 그런데 헤더파일에 함수의 정의부를 모두 구현할 경우 파일 분할의 목적이 사라지게 된다.

-> 그렇기 때문에 한줄 짜리만 대부분 인라인을 사용한다.

 

전역 함수일 경우 파일 분할 시 주의사항과 중복된 내용이 있기 때문에 inline 키워드를 무조건 명시해야만 한다.