목차
소개 ... 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
닫기