이미 소장하고 있다면 판매해 보세요.
|
1부. 템플릿 기본
001장. 함수 템플릿 __1.1 함수 템플릿 __1.2 템플릿 인자 연역 __1.3 다중 템플릿 파라미터 __1.4 기본 템플릿 인자 __1.5 함수 템플릿 오버로딩 __1.6 그런데 ... 해야 하지 않는가? __1.7 요약 002장. 클래스 템플릿 __2.1 클래스 템플릿 Stack의 구현 __2.2 클래스 템플릿 Stack의 사용 __2.3 클래스 템플릿의 일부 사용 __2.4 프렌드 __2.5 클래스 템플릿의 특수화 __2.6 부분 특수화 __2.7 기본 클래스 템플릿 인자 __2.8 형식 별칭 __2.9 템플릿 클래스 인자 연역 __2.10 템플릿화된 집합 __2.11 요약 003장. 형식이 아닌 템플릿 파라미터 __3.1 형식이 아닌 클래스 템플릿 파라미터 __3.2 형식이 아닌 함수 템플릿 파라미터 __3.3 형식이 아닌 템플릿 파라미터에 대한 제약 __3.4 템플릿 파라미터 형식로서의 auto __3.5 요약 004장. 가변 인자 템플릿 __4.1 가변 인자 템플릿 __4.2 접힌 표현식 __4.3 가변 인자 템플릿 애플리케이션 __4.4 가변 클래스 템플릿과 가변 표현식 __4.5 요약 005장. 까다로운 기초 지식 __5.1 키워드 typename __5.2 0 초기화 __5.3 this-〉 사용 __5.4 원시 배열과 문자열 리터럴을 사용하는 템플릿 __5.5 멤버 템플릿 __5.6 변수 템플릿 __5.7 템플릿 템플릿 파라미터 __5.8 요약 006장. 이동 의미 체계와 enable_if〈〉 __6.1 완벽한 전달 __6.2 특수 멤버 함수 템플릿 __6.3 enable_if〈〉로 템플릿 비활성화 __6.4 enable_if〈〉 사용 __6.5 enable_if〈〉 표현식을 간단하게 만드는 개념 사용 __6.6 요약 007장. 값으로 전달 또는 참조로 전달 __7.1 값으로 전달 __7.2 참조자로 전달 __7.3 std::ref()와 std::cref() 사용 __7.4 문자열 리터럴과 원시 배열 __7.5 반환 값 다루기 __7.6 템플릿 파라미터 선언 추천 방식 __7.7 요약 008장. 컴파일 과정 프로그래밍 __8.1 템플릿 메타프로그래밍 __8.2 constexpr로 계산 __8.3 부분 특수화로 실행 경로 선택 __8.4 SFINAE(치환 실패는 오류가 아니다) __8.5 컴파일 과정 if __8.6 요약 009장. 템플릿 실제 사용 __9.1 포함 모델 __9.2 템플릿과 인라인 010장. 기본 템플릿 용어 __10.1 ‘클래스 템플릿’인가, ‘템플릿 클래스’인가? __10.2 치환, 인스턴스화, 특수화 __10.3 선언과 정의 __10.4 단정의 법칙 __10.5 템플릿 인자와 템플릿 파라미터 __10.6 요약 011장. 일반 라이브러리 __11.1 호출 가능한 객체 __11.2 일반 라이브러리를 구현에 사용되는 기타 유틸리티 __11.3 임시 값 완벽히 전달 __11.4 참조자를 템플릿 파라미터로 쓰기 __11.5 평가 지연시키기 __11.6 일반 라이브러리를 작성할 때 고려해야 할 것 __11.7 요약 2부. 템플릿 상세 설명 012장. 템플릿 기초 원리 상세 학습 __12.1 파라미터화된 선언 __12.2 템플릿 파라미터 __12.3 템플릿 인자 __12.4 가변 템플릿 __12.5 프렌드 __12.6 후기 013장. 템플릿에서 이름 __13.1 이름 분류법 __13.2 이름 룩업 __13.3 템플릿 파싱 __13.4 상속과 클래스 템플릿 __13.5 후기 014장. 인스턴스화 __14.1 주문형 인스턴스화 __14.2 게으른 인스턴스화 __14.5 명시적 인스턴스화 __14.6 컴파일 과정 if문 __14.7 표준 라이브러리내에서 __14.8 후기 015장. 템플릿 인자 연역 __15.1 연역 과정 __15.2 연역된 문맥 __15.3 특별 연역 상황 __15.4 초기화자 목록 __15.5 파라미터 꾸러미 __15.6 rvalue 참조자 __15.7 SFINAE __15.8 연역의 한계 __15.9 명시적 함수 템플릿 인자 __15.10 초기화자와 표현식에서의 연역 __15.11 별칭 템플릿 __15.12 클래스 템플릿 인자 연역 __15.13 후기 016장. 특수화와 오버로딩 __16.1 ‘일반적인 코드’가 별로 좋지 않을 때 __16.2 함수 템플릿 오버로딩 __16.3 명시적 특수화 __16.4 부분 클래스 템플릿 특수화 __16.5 부분 변수 템플릿 특수화 __16.6 후기 017장. 앞으로 나아갈 방향 __17.1 완화된 typename 법칙 __17.2 일반화된 형식이 아닌 템플릿 파라미터 __17.3 함수 템플릿의 부분 특수화 __17.4 이름 붙여진 템플릿 인자 __17.5 클래스 템플릿 오버로딩 __17.6 끝나지 않은 꾸러미 확장 연역 __17.7 void의 정규화 __17.8 템플릿을 위한 형식 검사 __17.9 반영 메타프로그래밍 __17.10 꾸러미 설비 __17.11 모듈 3부. 템플릿과 설계 018장. 템플릿의 다형적 능력 __18.1 동적 다형성 __18.2 정적 다형성 __18.3 동적과 정적 다형성 __18.4 개념 사용 __18.5 설계 패턴의 새로운 형태 __18.6 일반 프로그래밍 __18.7 후기 019장. 특질 구현 __19.1 예제: 수열 덧셈 __19.2 특질 및 정책과 정책 클래스 __19.3 형식 함수 __19.4 SFINAE 기반 특질 __19.5 IsConvertibleT __19.6 멤버 검출 __19.7 기타 특질 기법 __19.8 형식 분류 __19.9 정책 특질 __19.10 표준 라이브러리에서 __19.11 후기 020장. 형식 속성 오버로딩 __20.1 알고리즘 특수화 __20.2 태그 디스패치 __20.3 함수 템플릿 활성화/비활성화 __20.4 클래스 특수화 __20.5 인스턴스화 안전 템플릿 __20.6 표준 라이브러리 __20.7 후기 021장. 템플릿과 상속 __21.1 빈 기본 클래스 최적화(EBCO) __21.2 묘하게 되풀이되는 템플릿 패턴(CRTP) __21.3 믹스인 __21.4 이름 붙여진 템플릿 인자 __21.5 후기 022장. 정적과 동적 다형성 사이 잇기 __22.1 함수 객체, 포인터와 std::function〈〉 __22.2 일반화된 함수 포인터 __22.3 브리지 인터페이스 __22.4 형식 삭제 __22.5 선택적 사이 잇기 __22.6 성능 고려 __22.7 후기 023장. 메타프로그래밍 __23.1 현대 C++ 메타프로그래밍의 현 상태 __23.2 반영 메타프로그래밍의 중요성 __23.3 재귀 인스턴스화의 비용 __23.4 계산 완전성 __23.5 재귀 인스턴스화와 재귀 템플릿 인자 __23.6 열거형 값과 정적 상수 __23.7 후기 024장. 형식 목록 __24.1 형식 목록 해부 __24.2 형식 목록 알고리즘 __24.3 형식이 아닌 형식 목록 __24.4 꾸러미 확장을 사용한 알고리즘 최적화 __24.5 cons-스타일 형식 목록 __24.6 후기 025장. 튜플 __25.1 기본 튜플 설계 __25.2 기본 튜플 연산 __25.3 튜플 알고리즘 __25.4 튜플 확장 __25.5 튜플 최적화 __25.6 튜플 첨자 __25.7 후기 026장. 구별 공용체 __26.1 저장소 __26.2 설계 __26.3 값 쿼리와 추출 __26.4 요소 초기화, 할당과 소멸 __26.5 방문자 __26.6 변이 값 초기화와 할당 __26.7 후기 027장. 표현식 템플릿 __27.1 임시 루프와 루프 분할 __27.2 템플릿 인자에 표현식 표현 __27.3 표현식 템플릿의 성능과 한계 __27.4 후기 028장. 템플릿 디버깅 __28.1 얕은 인스턴스화 __28.2 정적 단언문 __28.3 원형 __28.4 추적자 __28.5 오라클 __28.6 후기 부록A. 단정의 법칙 __A.1 번역 단위 __A.2 선언과 정의 __A.3 상세한 단정의 법칙 부록B. 값 카테고리 __B.1 전통적인 lvalue와 rvalue __B.2 C++11 이후의 값 카테고리 __B.3 decltype으로 값 카테고리 검사 __B.4 참조자형 부록C. 오버로딩 해석 __C.1 언제 오버로딩 해석이 적용되는가? __C.2 간략화된 오버로딩 해석 __C.3 오버로딩 세부 사항 부록D. 표준 형식 유틸리티 __D.1 형식 특질 사용 __D.2 기본과 합성 형식 카테고리 __D.4 형식 생성 __D.5 기타 특질 __D.6 형식 특질 결합 __D.7 기타 유틸리티 부록E. 개념 __E.1 개념 사용 __E.2 개념 정의 __E.3 제약 조건 오버로딩 __E.4 개념 팁 |
David Vandevoorde
Nicolai M. Josuttis
Douglas Gregor
한정애의 다른 상품
|
■ 템플릿의 정확한 동작 방법과 관련 함정을 피하는 방법
■ 성능이나 안전성을 해치지 않으면서도 소스코드를 재활용하는 방법 ■ 더 유연하고 유지 보수가 쉬운 소프트웨어를 만드는 방법 ■ C++ 표준 라이브러리의 일반 프로그래밍을 활용하는 방법 ■ 요즘 가장 효과적인 기법 연마 ■ 새로 추가될 특성과 개념 미리 알아보기 이 책에서 많은 것을 얻고 싶다면 먼저 C++에 대해 알아야 한다. 특별히 C++ 언어의 일부 특징에 대해 상세하게 설명하기도 했지만, 언어의 기초 자체에 대해서는 설명하지 않는다. 독자는 클래스와 상속에 대해 익숙해야 하며, C++ 표준 라이브러리가 제공하는 입출력 스트림과 컨테이너 같은 컴포넌트를 사용하는 C++ 프로그램을 작성할 수 있어야 한다. auto, decltype, 이동 의미 체계나 람다와 같은 ‘현대 C++’의 기본 특성에도 익숙해야 한다. 전문가와 중급자 수준 정도의 프로그래머도 이 책을 유용하게 사용할 수 있을 것이다. 이 책의 목적은 템플릿을 사용하기 시작하는 데 필요한 지식을 제공하고 템플릿의 강점을 누릴 수 있게 할 뿐 아니라, 숙련된 프로그래머가 최정상급의 한계를 더욱 넓히는 데 필요한 정보를 제공하는 데 있다. 1부에서는 템플릿에 대한 기본 개념을 소개한다. 입문서 방식으로 쓰였다 2부에서는 언어의 구체적인 부분들을 제시하며, 템플릿과 관련된 구성에 대한 간편한 참고 자료를 제공한다. 3부에서는 C++ 템플릿이 지원하는 기본적인 설계와 코딩 기법에 관해 설명했다. 사소하다고 볼 수 있는 아이디어에서부터 정교한 관용구에 이르기까지 폭넓게 다룬다. |