책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788980545179
· 쪽수 : 500쪽
· 출판일 : 2003-07-30
책 소개
목차
용어 대역표
Part 1 테크닉
Chapter 1 단위전략 기반의 클래스 디자인
1.1 소프트웨어 디자인의 다양성
1.2 Do-It-All 인터페이스의 문제점
1.3 다중 상속이 해결책이 될 수 있을까요?
1.4 템플릿의 이점
1.5 단위전략과 단위전략 클래스
1.5.1 템플릿 템플릿 인자를 통한 단위전략 클래스의 구현
1.5.2 템플릿 멤버 함수를 통한 단위전략 클래스의 구현
1.6 단위전략 인터페이스의 보강
1.7 단위전략 클래스의 소멸자
1.8 불완전한 구체화를 통한 부가기능
1.9 단위전략 클래스 간의 조합
1.10 단위전략 클래스를 통한 커스터마이징
1.11 호환/비호환 단위전략
1.12 클래스를 단위전략으로 분리해 내기
1.13 요약
Chapter 2 테크닉
2.1 컴파일 타임 어써션
2.2 템플릿의 부분 특화
2.3 로컬 클래스
2.4 상수 값에서 자료형으로의 변환
2.5 자료형에서 다른 자료형으로의 매핑
2.6 자료형의 선택
2.7 형변환과 상속 가능의 여부를 컴파일 타임에 알아내는 방법
2.8 type_info에 대한 포장 클래스
2.9 NullType과 EmptyType
2.10 Traits 자료형
2.10.1 포인터 Traits의 구현
2.10.2 기본 자료형에 대한 판별
2.10.3 인자의 자료형에 대한 최적화
2.10.4 한정자 제거하기
2.10.5 TypeTraits의 사용
2.10.6 TypeTraits의 완전한 포장
2.11 요약
Chapter 3 Typelists
3.1 Typelist의 필요성
3.2 Typelist의 정의
3.3 Typelist 생성의 선형화
3.4 길이의 계산
3.5 중간 첨언
3.6 Index에 의한 접근
3.7 Typelist에 대한 탐색
3.8 Typelist에 자료형 또는 Typelist 추가하기
3.9 Typelist에서 특정 자료형을 제거하기
3.10 중복 자료형의 삭제
3.11 Typelist의 한 원소를 다른 자료형으로 바꾸기
3.12 부분적으로 정렬된 Typelist
3.13 Typelist를 통한 클래스 생성
3.13.1 비선형 계층 구조의 생성
3.13.2 Tuple의 생성
3.13.3 선형 계층 구조의 생성
3.14 요약
3.15 Typelist Quick Facts
Chapter 4 작은 객체에 대한 메모리 할당
4.1 C++가 제공하는 기본 할당기
4.2 메모리 할당기가 하는 작업
4.3 작은 객체에 대한 메모리 할당기
4.4 Chunk
4.5 FixedAllocator
4.6 SmallObjAllocator 클래스
4.7 컴파일러의 해트 트릭
4.8 간단하게, 또 복잡하게, 그러나 결국에는 간단하게...
4.9 활용 방안
4.10 요약
4.11 작은 객체에 대한 할당기 Quick Facts
Part 2 컴포넌트
Chapter 5 일반화 함수자
5.1 Command 디자인 패턴
5.2 실질 세계의 Command
5.3 C++의 호출 가능 객체들
5.4 Functor 클래스 템플릿의 뼈대
5.5 전달 함수 Functor::operator()의 구현
5.6 함수자 다루기
5.7 하나를 구성하고, 다른 하나는 공짜로 얻어내기
5.8 인자와 반환 값의 형변환
5.9 멤버 함수에 대한 포인터 다루기
5.10 바인딩
5.11 요청 작업의 체인화
5.12 실제 적용 시의 문제 1: 전달 함수가 갖는 부하
5.13 실제 적용 시의 문제 2: Heap 영역에서의 할당
5.14 Functor를 통한 Undo와 Redo의 구현
5.15 요약
5.16 Functor Quick Facts
Chapter 6 싱글톤의 구현
6.1 Static 데이터 + Static 함수 ! = 싱글톤
6.2 싱글톤의 지원을 위한 기본적인 C++ 기법
6.3 Singleton 객체의 유일성 보장
6.4 Singleton의 파괴
6.5 참조 무효화 현상
6.6 참조 무효화 현상에 대한 해법 (1): Phoenix 싱글톤
6.6.1 atexit 함수의 문제
6.7 참조 무효화 현상에 대한 해법 (2): 수명 제어 Singleton
6.8 수명 제어 Singleton의 구현
6.9 다중 스레드의 세계 속에서...
6.9.1 이중 검사 동기화 패턴
6.10 통합
6.10.1 SingletonHolder를 단위전략으로 쪼개기
6.10.2 SingletonHolder의 단위전략에 대한 요구 사항의 정의
6.10.3 SingletonHolder의 조립
6.10.4 Stock 단위전략의 구현
6.11 SingletonHolder로 작업하기
6.12 요약
6.13 SingletonHodler 클래스 템플릿 Quick Facts
Chapter 7 스마트 포인터
7.1 스마트 포인터 첫걸음
7.2 대가
7.3 스마트 포인터의 저장 구조
7.4 스마트 포인터 멤버 함수
7.5 소유권 관리 전략
7.5.1 완전 복사(Deep Copy)
7.5.2 Copy on Write(COW)
7.5.3 참조 카운팅
7.5.4 참조 연결 리스트
7.5.5 파괴 복사
7.6 주소 추출 연산자
7.7 원시 포인터 자료형으로의 암묵적 형변환
7.8 동치 조건과 부등 조건
7.9 대소 비교
7.10 오류 검사 및 보고
7.10.1 초기화 검사
7.10.2 객체 접근 전 검사
7.10.3 오류 보고
7.11 상수 객체에 대한 스마트 포인터와 상수 스마트 포인터
7.12 배열
7.13 스마트 포인터와 다중 스레딩
7.13.1 포인팅 받는 객체 레벨에서의 다중 스레딩
7.13.2 부가 데이터 수준에서의 다중 스레딩
7.14 통합 정리
7.14.1 Storage 단위전략
7.14.2 Ownership 단위전략
7.14.3 Conversion 단위전략
7.14.4 Checking 단위전략
7.15 요약
7.16. 스마트 포인터 Quick Facts
Chapter 8 객체 팩토리
8.1 객체 팩토리의 필요성
8.2 C++에서의 객체 팩토리: 클래스와 객체
8.3 객체 팩토리의 구현
8.4 타입 식별자
8.5 일반화
8.6 참고 사항
8.7 복제 팩토리
8.8 객체 팩토리와 다른 제네릭 컴포넌트와의 활용
8.9 요약
8.10 Factory 클래스 템플릿 Quick Facts
8.11 CloneFactory 클래스 템플릿 Quick Facts
Chapter 9 추상 팩토리
9.1 추상 팩토리의 구조적 역할
9.2 제네릭한 스타일의 추상 팩토리 인터페이스
9.3 AbstractFactory의 구현
9.4 프로토타입에 기반한 추상 팩토리의 구현
9.5 요약
9.6 AbstractFactor 및 ConcreteFactory에 대한 Quick Facts
Chapter 10 비지터
10.1 비지터의 기초
10.2 오버로딩과 깔때기 함수
10.3 구현 코드의 정련: 비순환 비지터
10.4. 비지터의 일반화된 구현
10.5 순환 비지터에 대한 재고찰
10.6 변형 버전에 대한 지원
10.6.1 깔때기 함수
10.6.2 융통성 있는 비지터
10.7 요약
10.8 비지터 제네릭 컴포넌트 Quick Facts
Chapter 11 멀티 메소드
11.1 멀티 메소드란 무엇일까요?
11.2 멀티 메소드가 필요한 경우는 언제일까요?
11.3 이중 자료형 스위치: Brute Force
11.4 자동화된 Brute-Force 접근법
11.5 Brute-Force 디스패치 엔진과의 대칭성
11.6 로그 시간의 이중 디스패치 엔진
11.6.1 로그 시간의 디스패치 엔진과 상속
11.6.2 로그 시간의 디스패치 엔진과 형변환
11.7 FnDispatcher와 대칭성
11.8 함수자에 대한 이중 디스패치 엔진
11.9 인자의 형변환: static_cast인가, dynamic_cast인가?
11.10 상수 시간에 동작하는 멀티 메소드: 오직 속도
11.11 단위전략으로서의 BasicDispatcher와 BasicFastDispatcher
11.12 앞으로의 전망
11.13 요약
11.14 이중 디스패치 엔진 Quick Facts
부록 최소의 다중 스레드 라이브러리
A.1 다중 스레딩 평론
A.2 Loki의 접근법
A.3 정수 자료형에 대한 단위 연산
A.4 뮤텍스
A.5 객체지향 프로그래밍에서의 동기화
A.6 선택적인 volatile 한정자
A.7 세마포어, 이벤트 그리고 기타 등등
A.8 요약
참고 목록
찾아보기