본문 바로가기

인라인

(2)
항목 25 : inline 해부 ( 난이도 : 7 ) 인라인을 완전 파해치는 항목이다. 1 ) 인라인화란 무엇인가? 함수를 코드로 직접 대체하는 행위, 라고 정리해도 될 듯 싶다. 이런 행위 때문에, 함수 호출 비용이 없어 진다. 참조 : http://ikpil.com/762 2 ) 인라인화는 언제 수행되는가? a. 코딩 시점에서? 코딩 시점에서, 프로그래머가 inline 을 지정해 주면서 수행 된다. 코딩 시점에서 inline 키워드를 집어 넣으려면, 세 가지 염두해야할 것이 있다. 첫째, .. 우선 하지 말아야 한다. 둘째, inline 키워드는 컴파일러의 허락을 받아야 한다. 셋째, 인라인화 발생지점을 예측하지 말아야 한다. 셋째 부연 설명 : 인라인화 자체는 함수가 아닌 함수 호출에 대해서 일어난다. 그래서 어떤 지점에서 인라인화 되고, 어떤 지점에..
항목 30: 인라인 함수는 미주알고주알 따져서 이해해 두자 인라인 함수를 모른다면 이야기가 .. 진행되지 않으나, 기초기 때문에 넘긴다. 미주얼고주알 따져서 이해해두어야 하는 이유는 여러개가 있다. .. 뭐 .. 이해하고 나니 인라인도 인라인 나름이라는 생각을 하게 되어서 결론만 나오게 된다. 인라인 사용법 첫째, 간단한것만 inline 키워드를 사용 한다.(클래스 내부의 .. 그냥 멤버 리턴같은 것들) 이것밖에 없다. 둘째, 생성자와 소멸자를 inline 으로 사용 하려 들지 말자.(생성자와 소멸자 호출 구역이 상대적으로 많고, 생성자 수정을 하게 된다면, 생성자 호출 구역을 전부 재컴파일 해야 되기 때문이다) 이것만은 잊지 말자! 1. 함수 인라인은 작으면서 자주 호출되는 함수에 대해서만 하는 것으로 묶어 두자. 2. 함수 템플릿이 대개 헤더 파일에 들어 간..