항목 24 : 가상 함수, 다중 상속, 가상 기본 클래스, RTTI에 들어가는 비용을 제대로 파악하자
부재 : virtual 의 비용은 얼마인가? 이유 1. 구현에 따라 가상 함수(virtual function)가 성능에 영향을 미치기 때문이다. 구현방법 : 구현 방법은 없으며 개념 정리된 부분을 이해 하고 있어야 한다. 개념 정리 1. 가상 함수를 사용하면 가상 테이블(virtual table)과 가상 테이블 포인터(virtual table pointer)가 생긴다. (객체의 한쪽에 vtbl 을 가르키는 vptr이 만들어 진다) 2. 구현 방법에 따라 이 vtbl은 객체의 크기와 멤버 함수가 실행될 때의 속도에 영향을 끼친다. 3. 가상함수는 인라인 효과를 얻을 수 없다. 4. 가상상속(다이아몬드 상속을 피하기 위해)을 하면, 가상 기본 클래스의 포인터도 객체에 포함되어 덩치가 커진다. 5. RTTI는..
책 정리/More Effective C++ 1판
2008. 5. 22. 21:11
최근댓글