logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

C++ 템플릿 가이드

C++ 템플릿 가이드

(똑똑한 프로그래밍을 위한)

니콜라이 M. 조슈티스, 데이비드 반데보드 (지은이), 한정애 (옮긴이)
에이콘출판
38,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

C++ 템플릿 가이드
eBook 미리보기

책 정보

· 제목 : C++ 템플릿 가이드 (똑똑한 프로그래밍을 위한)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788960770676
· 쪽수 : 552쪽
· 출판일 : 2008-12-16

책 소개

템플릿을 왜 사용해야 하며, 언제 사용하고, 어떻게 사용해야 하는지 명확히 알려주는 책. 기본 개념과 언어 특성에 대한 직관적인 예제에서 시작한다. 그리고 언어의 상세 부분에 우선 초점을 맞춰 설명한 후 다양한 코딩 기술을 다루며, 마지막으로는 템플릿의 고급 응용방식을 알아봄으로써 광범위한 참고 자료로도 사용할 수 있게 했다.

목차

1장 들어가며
1.1 책을 읽기 전에 독자가 알아야 할 것
1.2 이 책의 구성
1.3 이 책을 읽는 방법
1.4 프로그래밍 방식에 대한 몇 가지 언급
1.5 표준과 실제
1.6 예제 코드와 부가 설명
1.7 피드백

1부 템플릿 기본

2장 함수 템플릿
2.1 함수 템플릿이란
2.1.2 템플릿 사용
2.2 인자 추론
2.3 템플릿 매개변수
2.4 오버로딩 함수 템플릿
2.5 요약

3장 클래스 템플릿
3.1 클래스 템플릿 Stack의 구현
3.1.1 클래스 템플릿의 선언
3.1.2 멤버 함수의 구현
3.2 클래스 템플릿 Stack의 사용
3.3 클래스 템플릿의 특수화
3.4 부분 특수화
3.5 기본 템플릿 인자
3.6 요약

4장 데이터형이 아닌 템플릿 매개변수
4.1 데이터형이 아닌 클래스 템플릿 매개변수
4.2 데이터형이 아닌 함수 템플릿 매개변수
4.3 데이터형이 아닌 템플릿 매개변수에 대한 제약
4.4 요약

5장 복잡한 기본
5.1 키워드 typename
5.2 this-> 사용
5.3 멤버 템플릿
5.4 템플릿 템플릿 매개변수
5.5 0 초기화
5.6 함수 템플릿에 문자열 리터럴을 인자로 사용
5.7 요약

6장 템플릿 실제 사용
6.1 포함 모델
6.1.1 링커 오류
6.1.2 헤더 파일에 있는 템플릿
6.2 명시적 인스턴스화
6.2.1 명시적 인스턴스화의 예제
6.2.2 포함 모델과 명시적 인스턴스화 결합
6.3 분리 모델
6.3.1 키워드 export
6.3.2 분리 모델의 한계
6.3.3 분리 모델에 대한 대비
6.4 템플릿과 인라인
6.5 전컴파일된 헤더
6.6 디버깅 템플릿
6.6.1 긴 오류 메시지 해석
6.6.2 얕은 인스턴스화
6.6.3 긴 기호
6.6.4 추적자
6.6.5 오라클
6.6.6 원형
6.7 정리

7장 기본 템플릿 용어
7.1 "클래스 템플릿"과 "템플릿 클래스"
7.2 인스턴스화와 특수화
7.3 선언과 정의
7.4 단정의 법칙
7.5 템플릿 인자와 템플릿 매개변수

2부 템플릿 상세 설명

8장 템플릿 기초 원리의 깊은 이해
8.1 매개변수화된 선언
8.1.1 가상 멤버 함수
8.1.2 템플릿의 링크
8.1.3 기본 템플릿
8.2 템플릿 매개변수
8.2.1 데이터형 매개변수
8.2.2 데이터형이 아닌 매개변수
8.2.3 템플릿 템플릿 매개변수
8.2.4 기본 템플릿 인자
8.3 템플릿 인자
8.3.1 함수 템플릿 인자
8.3.2 데이터형 인자
8.3.3 데이터형이 아닌 인자
8.3.4 템플릿 템플릿 인자
8.3.5 동일
8.4 프렌드
8.4.1 프렌드 함수
8.4.2 프렌드 템플릿
8.5 정리

9장 템플릿에서의 이름
9.1 이름 분류학
9.2 이름 룩업
9.2.1 인자 종속 룩업
9.2.2 프렌드 이름 주입
9.2.3 주입된 클래스 이름
9.3 템플릿 파싱
9.3.1 템플릿을 쓰지 않을 때의 문맥 민감성
9.3.2 데이터형의 종속 이름
9.3.3 템플릿의 종속 이름
9.3.4 using 선언에서 종속 이름
9.3.5 ADL과 명시적 템플릿 인자
9.4 파생과 클래스 템플릿
9.4.1 종속되지 않은 기본 클래스
9.4.2 종속적인 기본 클래스
9.5 정리

10장 인스턴스화
10.1 주문형 인스턴스화
10.2 게으른 인스턴스화
10.3 C++ 인스턴스화 모델
10.3.4 두 단계 룩업
10.3.2 인스턴스화 지점
10.3.3 포함과 분리 모델
10.3.4 여러 번역 단위에 걸친 룩업
10.3.5 예제
10.4 구현 방식
10.4.1 근시안적인 인스턴스화
10.4.2 질의 인스턴스화
10.4.3 반복된 인스턴스화
10.5 명시적 인스턴스화
10.6 정리

11장 템플릿 인자 추론
11.1 추론 과정
11.2 추론된 문맥
11.3 특별 추론 상황
11.4 허용되는 인자 변환
11.5 클래스 템플릿 매개변수
11.6 기본 호출 인자
11.7 바튼-넥만 트릭
11.8 정리

12장 특수화와 오버로딩
12.1 "일반적인 코드"가 별로 좋지 않을 때
12.1.1 보이지 않는 커스터마이징
12.1.2 의미 구조 투명성
12.2 함수 템플릿 오버로딩
12.2.1 서명
12.2.2 오버로딩된 함수 템플릿의 부분 정렬
12.2.3 공식 정렬 법칙
12.2.4 템플릿과 템플릿이 아닌 것
12.3 명시적 특수화
12.3.1 전체 클래스 템플릿 특수화
12.3.2 전체 함수 템플릿 특수화
12.3.3 전체 멤버 특수화
12.4 부분 클래스 템플릿 특수화
12.5 정리

13장 앞으로 나아갈 방향
13.1 꺾쇠 해킹
13.2 완화된 typename 법칙
13.3 기본 함수 템플릿 인자
13.4 문자열 리터럴과 부동소수점 템플릿 인자
13.5 템플릿 템플릿 매개변수의 일치 완화
13.6 typedef 템플릿
13.7 함수 템플릿의 부분 특수화
13.8 typeof 연산자
13.9 이름 붙여진 템플릿 인자
13.10 정적 속성
13.11 맞춤형 인스턴스화 진단
13.12 클래스 템플릿 오버로딩
13.13 목록 매개변수
13.14 레이아웃 제어
13.15 초기화 추론
13.16 함수 표현식
13.17 정리

3부 템플릿과 설계

14장 템플릿의 다형성 능력
14.1 동적 다형성
14.2 정적 다형성
14.3 동적 다형성과 정적 다형성 비교
14.4 설계 패턴의 새로운 형태
14.5 일반 프로그래밍
14.6 정리

15장 특질과 정책 클래스
15.1 예제: 수열 더하기
15.1.1 고정 특질(fixed trait)
15.1.2 값 특질
15.1.3 매개변수화된 특질
15.1.4 정책과 정책 클래스
15.1.5 특질과 정책: 무엇이 다른가?
15.1.6 멤버 템플릿과 템플릿 템플릿 매개변수 비교
15.1.7 다양한 정책과(이나) 특질 결합
15.1.8 일반 반복자를 통해 추적
15.2 데이터형 함수
15.2.1 요소의 데이터형 결정
15.2.2 클래스형 결정
15.2.3 참조자와 한정자
15.2.4 데이터형 승격 특질
15.3 정책 특질
15.3.1 읽기 전용 매개변수형
15.3.2 복사, 교환, 이동
15.4 정리

16장 템플릿과 상속
16.1 이름 붙여진 템플릿 인자
16.2 빈 기본 클래스 최적화
16.2.1 레이아웃 원칙
16.2.2 기본 클래스로서의 멤버
16.3 묘하게 되풀이되는 템플릿 패턴
16.4 매개변수화된 가상성
16.5 정리

17장 메타프로그래밍
17.1 메타프로그램의 첫 번째 예
17.2 열거형 값과 정적 상수 비교
17.3 제곱근 구하기 예제
17.4 유도 변수 사용
17.5 계산 완벽성
17.6 재귀적 인스턴스화와 재귀적 템플릿 인자 비교
17.7 루프를 풀기 위한 메타프로그래밍
17.8 정리

18장 표현식 템플릿
18.1 임시 루프와 루프 분할
18.2 템플릿 인자에 표현식 표현
18.2.1 표현식 템플릿의 피연산자
18.2.2 Array형
18.2.3 연산자
18.2.4 복습
18.2.5 표현식 템플릿 할당
18.3 표현식 템플릿의 성능과 한계
18.4 정리

4부 고급 애플리케이션

19장 데이터형 분류
19.1 기초형 결정
19.2 복합형 결정
19.3 함수형 식별
19.4 오버로딩 해석으로 열거형 분류
19.5 클래스형 결정
19.6 모두 다 함께
19.7 정리

20장 스마트 포인터
20.1 소유자와 전달 캡슐
20.1.1 예외로부터 보호
20.1.2 소유자
20.1.3 멤버로서의 소유자
20.1.4 자원 획득은 초기화다
20.1.5 Holder 한계
20.1.6 소유자 복사
20.1.7 함수 호출 너머로 소유자 복사
20.1.8 전달 캡슐
20.2 참조자 카운트
20.2.1 카운터의 위치
20.2.2 동시 카운터 접근
20.2.3 소멸과 할당 해제
20.2.4 CountingPtr 템플릿
20.2.5 간단한 비침습성 카운터
20.2.6 간단한 침습성 카운터 템플릿
20.2.7 상수성
20.2.8 묵시적 변환
20.2.9 비교
20.3 정리

21장 튜플
21.1 듀오
21.2 재귀적 Duo
21.2.1 필드의 수
21.2.2 필드의 데이터형
21.2.3 필드의 값
21.3 튜플 생성
21.4 정리

22장 함수 객체와 콜백
22.1 직접, 간접과 인라인 호출
22.2 함수에 대한 포인터와 참조자
22.3 멤버 접근 포인터 함수
22.4 클래스형 functor
22.4.1 첫 번째 클래스형 functor
22.4.2 클래스형 functor의 종류
22.5 functor 명시
22.5.1 템플릿형 인자로서의 functor
22.5.2 함수 호출 인자로서의 functor
22.5.3 함수 호출 매개변수와 템플릿형 매개변수 결합
22.5.4 데이터형이 아닌 템플릿 인자로서의 functor
22.5.5 함수 포인터 캡슐화
22.6 내부 점검
22.6.1 functor형 분석
22.6.2 매개변수형 접근
22.6.3 함수 포인터 캡슐화
22.7 함수 객체 조합
22.7.1 간단한 조합
22.7.2 혼합된 데이터형 조합
22.7.3 매개변수의 수 줄이기
22.8 값 바인더
22.8.1 바인딩 선택
22.8.2 바인드 서명
22.8.3 인자 선택
22.8.4 편의 함수
22.9 functor 연산: 전체 구현
22.10 정리

부록A 단 정의 법칙
A.1 번역 단위
A.2 선언과 정의
A.3 상세한 단정의 법칙
A.3.1 프로그램당 한 번
A.3.2 번역 단위별 한 번 정의 제약
A.3.3 교차 번역 단위 동등 제약
부록B 오버로딩 해석
B.1 오버로딩 해석이 적용되는 시기
B.2 간략화된 오버로딩 해석
B.2.1 멤버 함수를 위해 포함된 인자
B.2.2 완벽한 일치 개량
B.3 세부 오버로딩
B.3.1 비템플릿 선호
B.3.2 변환 순서
B.3.3 포인터 변환
B.3.4 functor와 대리 함수
B.3.5 기타 오버로딩 문맥

저자소개

다비드 반데부르드 (지은이)    정보 더보기
에디슨 디자인 그룹의 부사장으로 자사의 컴파일러의 C++ 핵심 특성을 설계한다. 잘 알려진 포럼인 comp.lang.c++.moderated의 공동 창설자로, C++ 표준화에도 활동하고 있다. 렌슬러 폴리테크닉 대학교에서는 컴퓨터 과학으로 석사와 박사 학위를 받았고, 브뤼셀 자유 대학교에서 석사 학위를 받았다. 알고리즘 개발과 강의에 관심이 많다.
펼치기
니콜라이 요수티스 (지은이)    정보 더보기
독립 시스템 설계자, 기술 관리자, 컨설턴트, 강사이며, C++ 표준화에서 20년째 활동하고 있다. 라이브러리 워킹그룹에 참여하고 있으며, 특히 일반적인 애플리케이션 프로그래머의 상황에 특별히 관심이 많다. 강의와 권위 있는 책을 쓴 것으로 C++ 커뮤니티에서 잘 알려져 있다. 집필한 책으로는 『The C++ Standard Library, Second Edition』(Addition-Wesley, 2012) 등이 있다.
펼치기
한정애 (옮긴이)    정보 더보기
서울대학교 컴퓨터공학과를 졸업하고 동 대학원에서 박사학위를 받았다. 글로벌 소프트웨어 회사인 SAP에서 개발하다 현재는 삼성증권에서 일하고 있다. 리눅스와 C++ 프로그래밍을 비롯한 여러 가지 프로그래밍 관련 분야에 관심이 많다. 번역서로는 에이콘출판사에서 출간한 『두렵지 않은 C++』(2013), 『C++ 표준 라이브러리』(2013), 『Boost C++ 애플리케이션 개발』(2015), 『Boost.Asio C++ 네트워크 프로그래밍 쿡북』(2017), 『텐서플로1.x로 배우는 머신 러닝』(2018)이 있다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책