책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788980545049
· 쪽수 : 858쪽
· 출판일 : 2003-02-25
책 소개
목차
목 차
용어 대역표
Chapter 1 이 책에 대하여
1.1 왜 이 책인가?
1.2 이 책을 읽기 전에 반드시 알아야 할 것은 무엇인가?
1.3 이 책의 스타일 및 구성 방법
1.4 이 책을 읽는 방법
1.5 현재의 기술 수준
1.6 예제 코드와 추가 정보
1.7 피드백(Feedback)
Chapter 2 C++와 표준 라이브러리의 소개
2.1 역사
2.2 C++ 언어의 새로운 특징
2.2.1 템플릿
2.2.2 기본적인 타입을 위한 명시적인 초기화
2.2.3 예외 처리
2.2.4 namespace
2.2.5 bool 타입
2.2.6 explicit 키워드
2.2.7 타입 변환을 위한 새로운 연산자
2.2.8 static 상수 멤버의 초기화
2.2.9 main( )의 정의
2.3 복잡도(Complexity)와 Big-O 표시법
Chapter 3 일반적인 개념(General Concept)
3.1 namespace std
3.2 헤더(header) 파일
3.3 에러와 예외 처리
3.3.1 표준 예외 클래스
3.3.2 예외 클래스의 멤버 함수
3.3.3 표준 예외의 전달
3.3.4 표준 예외 클래스의 상속
3.4 할당자
Chapter 4 유틸리티(Utilities)
4.1 Pairs
4.1.1 편리한 make_pair( ) 함수
4.1.2 Pair의 사용 예
4.2 auto_ptr 클래스
4.2.1 auto_ptr 클래스의 등장 배경
4.2.2 auto_ptr에 의한 소유권 이전
4.2.3 멤버 변수로의 auto_ptr
4.2.4 auto_ptr의 잘못된 사용 사례
4.2.5 auto_ptr 예제
4.2.6 클래스 auto_ptr의 세부사항
4.3 수치 제한(Numeric Limits)
4.4 보조 함수(Auxiliary Function)
4.4.1 최소값과 최대값의 처리
4.4.2 두 값의 교환
4.5 비교 연산자의 확장
4.6 와 헤더 파일
4.6.1 의 정의
4.6.2 의 정의
Chapter 5 표준 템플릿 라이브러리
5.1 STL 컴포넌트
5.2 컨테이너
5.2.1 시퀀스 컨테이너
5.2.2 연관 컨테이너
5.2.3 컨테이너 어댑터
5.3 반복자
5.3.1 연관 컨테이너 예제
5.3.2 반복자의 카테고리
5.4 알고리즘
5.4.1 범위
5.4.2 다중 범위 처리
5.5 반복자 어댑터(Iterator Adapter)
5.5.1 삽입 반복자
5.5.2 스트림 반복자
5.5.3 역방향 반복자
5.6 조작 알고리즘
5.6.1 원소의 제거
5.6.2 연관 컨테이너와 조작 알고리즘
5.6.3 알고리즘과 멤버 함수
5.7 사용자 정의 제네릭 함수들
5.8 알고리즘 인자로서의 함수
5.8.1 알고리즘 인자로서의 함수 사용 예제
5.8.2 조건자(Predicates)
5.9 함수-객체
5.9.1 함수-객체란?
5.9.2 미리 정의된 함수-객체
5.10 컨테이너 원소
5.10.1 컨테이너 원소들이 갖추어야 할 사항들
5.10.2 값 의미론과 레퍼런스 의미론
5.11 STL에서의 에러 및 예외
5.11.1 에러 핸들링
5.11.2 예외 처리
5.12 STL의 확장
Chapter 6 STL 컨테이너
6.1 컨테이너의 공통적인 특징 및 동작
6.1.1 컨테이너의 공통적인 특징
6.1.2 컨테이너의 공통적인 동작
6.2 Vector
6.2.1 vector의 능력
6.2.2 vector의 동작들
6.2.3 기존의 배열처럼 vector를 사용하기
6.2.4 예외 핸들링
6.2.5 vector를 사용한 예제
6.2.6 vector 클래스
6.3 Deque
6.3.1 deque의 능력
6.3.2 deque의 동작
6.3.3 예외 핸들링
6.3.4 deque를 사용한 예제
6.4 List
6.4.1 list의 능력
6.4.2 list의 동작
6.4.3 예외 핸들링
6.4.4 list를 사용한 에제
6.5 Set과 Multiset
6.5.1 set과 multiset의 능력
6.5.2 set과 multiset의 동작
6.5.3 예외 핸들링
6.5.4 set과 multiset을 사용한 예제
6.5.5 런타임시에 정렬 기준을 결정하는 예제
6.6 Map과 Multimap
6.6.1 map과 multimap의 능력
6.6.2 map과 multimap의 동작
6.6.3 연관 배열처럼 map을 사용하기
6.6.4 예외 처리
6.6.5 map과 multimap의 예제
6.6.6 map과 스트링, 그리고 런타임 정렬 기준의 예제
6.7 다른 STL 컨테이너
6.7.1 스트링을 STL 컨테이너처럼
6.7.2 기존의 배열을 STL 컨테이너처럼
6.7.3 해쉬 테이블
6.8 "레퍼런스 의미론"의 구현
6.9 언제 어느 컨테이너를 사용할 것인가?
6.10 컨테이너의 타입과 멤버에 대한 자세한 설명
6.10.1 타입 정의
6.10.2 생성, 복사, 그리고 소멸과 관련된 동작
6.10.3 수정하지 않는 동작
6.10.4 할당
6.10.5 원소의 직접적인 액세스
6.10.6 반복자와 관련된 연산자
6.10.7 원소의 삽입과 제거
6.10.8 list의 특별한 멤버 함수들
6.10.9 할당자 지원
6.10.10 STL 컨테이너의 예외 핸들링에 대한 전반적인 사항
Chapter 7 STL 반복자
7.1 반복자의 헤더 파일
7.2 반복자 카테고리
7.2.1 입력 반복자(Input Iterators)
7.2.2 출력 반복자(Output Iterators)
7.2.3 전방향 반복자(Forward Iterators)
7.2.4 양방향 반복자(Bidirectional Iterators)
7.2.5 랜덤 액세스 반복자
7.2.6 vector 반복자의 증, 감소 문제
7.3 보조 반복자 함수
7.3.1 advance( )를 사용한 반복자의 위치 변경
7.3.2 distance( ) 함수를 이용한 반복자간의 거리 계산
7.3.3 iter_swap( )을 사용하여 반복자의 값 교체
7.4 반복자 어댑터(Iterator Adapters)
7.4.1 역방향 반복자(Reverse Iterators)
7.4.2 삽입 반복자
7.4.3 스트림 반복자
7.5 반복자 특성
7.5.1 반복자를 위한 제네릭한 함수 구현
7.5.2 사용자 정의 반복자
Chapter 8 STL 함수-객체
8.1 함수-객체의 개념
8.1.1 정렬 기준으로서의 함수-객체
8.1.2 내부 상태를 가지는 함수-객체
8.1.3 for_each( )의 반환값
8.1.4 조건자(Predicate)와 함수-객체
8.2 미리 정의된 함수-객체
8.2.1 함수 어댑터(Function Adapter)
8.2.2 멤버 함수를 위한 함수 어댑터
8.2.3 기존의 함수들을 위한 함수 어댑터
8.2.4 함수 어댑터를 위한 사용자 정의 함수-객체
8.3 조립 함수-객체
8.3.1 단항 조립 함수-객체 어댑터
8.3.2 이항 조립 함수-객체 어댑터
Chapter 9 STL 알고리즘
9.1 알고리즘 사용시 필요한 헤더 파일
9.2 알고리즘에 대한 전반적인 소개
9.2.1 알고리즘에 대한 간단한 소개
9.2.2 알고리즘의 분류
9.3 보조 함수
9.4 for_each( ) 알고리즘
9.5 원소를 수정하지 않는 알고리즘
9.5.1 원소의 카운트(Counting Elements)
9.5.2 최소·최대
9.5.3 원소의 검색
9.5.4 범위 비교
9.6 원소를 수정하는 알고리즘
9.6.1 원소의 복사
9.6.2 원소의 변경 또는 결합
9.6.3 원소의 교체
9.6.4 새로운 값의 할당
9.6.5 원소의 교체
9.7 제거 알고리즘
9.7.1 특정 값을 지닌 원소의 제거
9.7.2 중복된 원소의 제거
9.8 변경 알고리즘
9.8.1 원소의 순서를 반전
9.8.2 원소의 회전
9.8.3 원소의 순열 계산
9.8.4 원소를 뒤섞음
9.8.5 조건을 만족하는 원소를 앞쪽으로 이동하기
9.9 정렬 알고리즘
9.9.1 모든 원소의 정렬
9.9.2 부분 정렬
9.9.3 n번째 원소까지 정렬
9.9.4 힙 알고리즘
9.10 정렬된 범위 알고리즘
9.10.1 원소의 검색
9.10.2 원소의 병합
9.11 수치 알고리즘
9.11.1 결과값 처리
9.11.2 절대적인 값과 상대적인 값으로의 변경
Chapter 10 특별한 컨테이너
10.1 Stack
10.1.1 핵심 인터페이스
10.1.2 Stack을 사용한 예제
10.1.3 stack<> 클래스 세부사항
10.1.4 사용자 정의 stack 클래스
10.2 Queues
10.2.1 핵심 인터페이스
10.2.2 Queue를 사용한 예제
10.2.3 queue<> 클래스 세부사항
10.2.4 사용자 정의 queue 클래스
10.3 Priority queue
10.3.1 핵심 인터페이스
10.3.2 Priority queue를 사용한 예제
10.3.3 priority_queue<> 클래스 세부사항
10.4 Bitset
10.4.1 Bitset을 사용한 예제
10.4.2 bitset 클래스 세부사항
Chapter 11 스트링(String)
11.1 동기
11.1.1 첫 번째 예제 : 임시 파일 이름 추출하기
11.1.2 두 번째 예제 : 단어 추출과 역순 출력
11.2 스트링 클래스에 대한 설명
11.2.1 스트링 타입
11.2.2 연산자의 개요
11.2.3 생성자와 소멸자
11.2.4 스트링과 C-String
11.2.5 사이즈와 용량
11.2.6 원소의 액세스
11.2.7 비교(Comparisons)
11.2.8 수정자(Modifiers)
11.2.9 부분 문자열과 스트링 연결
11.2.10 입·출력 연산자
11.2.11 검색과 찾기
11.2.12 npos
11.2.13 스트링에 대한 반복자 지원
11.2.14 국제화
11.2.15 성능
11.2.16 스트링과 vector
11.3 스트링 클래스 세부사항
11.3.1 타입 정의와 static 값들
11.3.2 생성, 복사, 소멸 연산들
11.3.3 사이즈와 용량을 위한 연산들
11.3.4 비교
11.3.5 문자 액세스
11.3.6 C-String과 문자 배열 생성
11.3.7 수정 연산
11.3.8 검색과 찾기
11.3.9 부분 문자열과 문자열 연결
11.3.10 입·출력 함수들
11.3.11 반복자 생성
11.3.12 할당자 지원
Chapter 12 수치(Numerics)
12.1 복소수(Complex Numbers)
12.1.1 Complex 클래스 사용 예제
12.1.2 복소수 연산
12.1.3 complex<> 클래스의 세부사항
12.2 Valarrays
12.2.1 Valarrays 알아가기
12.2.2 Valarray 서브셋
12.2.3 valarray 클래스 세부사항
12.2.4 Valarray 서브셋 클래스의 세부사항
12.3 전역 수치 함수들
Chapter 13 스트림 클래스를 이용한 입력과 출력
13.1 I/O 스트림의 배경지식
13.1.1 스트림 객체
13.1.2 스트림 클래스
13.1.3 전역 스트림 객체
13.1.4 스트림 연산자들
13.1.5 조작자(Manipulators)
13.1.6 간단한 예제
13.2 기본 스트림 클래스와 객체
13.2.1 클래스와 클래스 계층 구조
13.2.2 전역 스트림 객체들
13.2.3 헤더 파일
13.3 표준 스트림 연산자 <<와 >>
13.3.1 출력 연산자 <<
13.3.2 입력 연산자 >>
13.3.3 특별한 타입들의 입·출력
13.4 스트림의 상태
13.4.1 스트림의 상태를 위한 상수들
13.4.2 스트림의 상태를 액세스하는 멤버 함수들
13.4.3 스트림 상태와 Boolean 조건
13.4.4 스트림 상태와 예외
13.5 표준 입·출력 함수
13.5.1 입력을 위한 멤버 함수
13.5.2 출력을 위한 멤버 함수
13.5.3 예제
13.6 조작자(Manipulators)
13.6.1 어떻게 조작자가 동작할까?
13.6.2 사용자 정의 조작자
13.7 형식화(Formatting)
13.7.1 형식 플래그
13.7.2 Boolean 값 형식의 입력/출력
13.7.3 필드 너비, 채움 문자, 그리고 조정
13.7.4 양의 부호(Positive Sign)와 대문자(Uppercase Letters)
13.7.5 수치 베이스(Numeric Base)
13.7.6 부동 소수 표기
13.7.7 일반적인 형식화 정의
13.8 국제화
13.9 파일 액세스
13.9.1 파일 플래그
13.9.2 임의 액세스(Random Access)
13.9.3 파일 디스크립터 사용하기
13.10 입·출력 스트림 연결
13.10.1 tie( )를 사용하는 느슨한 결합
13.10.2 스트림 버퍼를 사용하는 단단한 결합
13.10.3 리다이렉트 표준 스트림
13.10.4 읽기와 쓰기를 위한 스트림
13.11 문자열을 위한 스트림 클래스
13.11.1 문자열 스트림 클래스
13.11.2 char* 스트림 클래스
13.12 사용자 정의 타입을 위한 입·출력 연산
13.12.1 출력 연산자의 구현
13.12.2 입력 연산자의 구현
13.12.3 보조 함수를 사용하는 입력/출력
13.12.4 형식화되지 않은 함수들을 사용하는 사용자 정의 연산자
13.12.5 사용자 정의 형식 플래그
13.12.6 사용자 정의 입력/출력 연산자들을 위한 관례들
13.13 스트림 버퍼 클래스
13.13.1 스트림 버퍼들의 사용자 관점
13.13.2 스트림 버퍼 반복자
13.13.3 사용자 정의 스트림 버퍼
13.14 성능
13.14.1 C의 표준 스트림과의 동기화
13.14.2 스트림 버퍼에서의 버퍼링
13.14.3 스트림 버퍼를 직접적으로 사용하기
Chapter 14 국제화(Internationalization)
14.1 다른 문자의 인코딩
14.1.1 와이드(wide)-문자와 멀티바이트 텍스트
14.1.2 문자 특성(Character Traits)
14.1.3 특수 문자들의 국제화
14.2 로케일의 개념
14.2.1 로케일의 사용
14.2.2 로케일 패싯
14.3 로케일에 대한 세부 내용
14.4 패싯 세부사항
14.4.1 수치 형식화
14.4.2 시간과 날짜 형식화
14.4.3 화폐 형식화
14.4.4 문자 분류와 변환
14.4.5 스트링 대조
14.4.6 국제화된 메시지
Chapter 15 할당자(Allocator)
15.1 어플리케이션 개발자로서의 할당자 사용
15.2 라이브러리 개발자로서의 할당자 사용
15.3 디폴트 할당자
15.4 사용자 정의 할당자
15.5 할당자에 대한 자세한 설명
15.5.1 타입 정의
15.5.2 동작
15.6 초기화되지 않은 메모리에 대한 유틸리티 함수들
Internet Resources
Bibliography
찾아보기