소개 ... 9 이 책이 만들어진 이유 ... 9 게임 개발을 위한 C++ ... 10 독자층 ... 12 몇 가지 기본적인 규칙들 ... 12 소스 코드 ... 14 제1부. C++의 힘을 끌어내자 제1장 상속 ... 17 클래스 ... 18 상속 ... 19 다형성과 가상 함수 ... 22 상속해야 하는가? ... 25 상속을 이용할 상황과 피해야 할 상황 ... 27 상속의 구현(고급) ... 29 비용 분석(고급) ... 31 대안(고급) ... 34 프로그램 아키텍처와 상속(고급) ... 35 결론 ... 37 참고 서적 ... 38 제2장 다중 상속 ... 39 다중 상속의 이용 ... 40 다중 상속의 문제점들 ... 44 다형성 ... 49 다중 상속을 이용할 상황과 피해야 할 상황 ... 51 다중 상속의 구현(고급) ... 52 비용 분석(고급) ... 53 결론 ... 57 참고 서적 ... 57 제3장 상수와 참조, 몇 가지 마무리 ... 59 상수 ... 60 참조(Reference) ... 69 형 변환 ... 74 결론 ... 79 참고 서적 ... 79 제4장 템플릿 ... 81 범용 코드를 위한 연구 ... 82 템플릿 ... 89 단점들 ... 94 템플릿을 이용해야 할 때 ... 95 템플릿 특화(고급) ... 96 결론 ... 99 참고 서적 ... 100 제5장 예외 처리 ... 101 오류 다루기 ... 102 예외 이용하기 ... 107 예외로부터 안전한 코드 ... 113 비용 분석 ... 119 예외를 이용해야 할 때 ... 121 결론 ... 122 참고 서적 ... 122 제2부. 성능과 메모리 제6장 성능 ... 127 성능과 최적화 ... 128 함수의 타입 ... 132 인라인화 ... 137 부가적인 함수 오버헤드 ... 142 복사 피하기 ... 148 컨스트럭터와 디스트럭터 ... 154 데이터 캐시와 메모리 정렬(고급) ... 159 결론 ... 163 참고 서적 ... 164 제7장 메모리 할당 ... 165 스택(Stack) ... 166 힙(Heap) ... 167 정적 할당 ... 173 동적 할당 ... 175 커스컴 메모리 관리자 ... 181 메모리 풀 ... 191 비상 사태에 대한 대비 ... 198 결론 ... 199 참고 서적 ... 199 제8장 표준 템플릿 라이브러리 - 컨테이너 ... 201 STL 둘러보기 ... 202 STL을 이용해야 할 때 ... 204 순차 컨테이너 ... 208 연관 컨테이너 ... 220 컨테이너 어댑터 ... 233 결론 ... 237 참고 서적 ... 238 제9장 STL - 알고리즘과 고급 토픽들 ... 241 함수 개체(Function Object - Functor) ... 242 알고리즘 ... 246 문자열 ... 256 할당자(고급 토픽) ... 264 STL이 충분하지 않을 경우(고급 토픽) ... 266 결론 ... 268 참고 서적 ... 269 제3부. 특별한 테크닉 제10장 추상 인터페이스 ... 273 추상 인터페이스 ... 274 일반적인 C++ 임플리먼테이션 ... 276 벽으로서의 추상 인터페이스 ... 277 클래스 특성으로서의 추상 인터페이스 ... 283 반짝이는 것이 모두 금은 아니다 ... 290 결론 ... 291 참고 서적 ... 292 제11장 플러그인 ... 295 플러그인의 필요성 ... 296 플러그인 아키텍처 ... 298 예제 코드 ... 308 플러그인의 실제 쓰임 ... 309 결론 ... 311 참고 서적 ... 312 제12장 런타임 타입 정보 ... 313 RTTI를 사용하지 않는 경우 ... 314 RTTI를 사용할 때와 피해야 할 때 ... 316 표준 C++ RTTI ... 318 커스텀 RTTI 시스템 ... 323 결론 ... 334 참고 서적 ... 335 제13장 개체 생성과 관리 ... 337 개체의 제작 ... 338 개체 팩토리 ... 341 공유 개체 ... 349 결론 ... 362 참고 서적 ... 362 제14장 개체 일련화 ... 365 게임 엔티티 일련화 ... 370 정리 ... 380 결론 ... 381 참고 서적 ... 382 제15장 대형 프로젝트의 관리 ... 383 논리적인 구조와 물리적인 구조 ... 384 클래스와 파일 ... 386 헤더 파일 ... 386 라이브러리 ... 402 환경 설정 ... 405 결론 ... 407 참고 서적 ... 408 제16장 안정적인 게임 만들기 ... 409 Assert 이용 ... 410 깔끔한 기계 상태의 유지 ... 418 불량 데이터의 처리 ... 421 결론 ... 426 참고 서적 ... 427 부록 CD-ROM 사용법 ... 429 찾아보기 ... 431