본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

C++14 STL 철저 입문 표준 템플릿 라이브러리의 교과서

아이버 호튼 지음 | 조현태 옮김 | 길벗 | 2016년 12월 22일 출간
  • 정가 : 36,000원
    판매가 : 32,400 [10%↓ 3,600원 할인]
  • 통합포인트 :
    [기본적립] 1,800원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(25일,금) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 행사도서 구매 시 개발자 데스크 매트 증정
    2018.12.11 ~ 사은품 소진 시
  • 행사도서 포함 3만원 이상 구매 시, 리드잇 2019 캘린더 선..
    2018.12.04 ~ 2019.01.31
  • 웹개발 입문자를 위한 아주 약간의 가이드
    2017.07.11 ~ 2020.12.31
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791160500615(1160500614)
쪽수 652쪽
크기 184 * 235 * 32 mm /1168g 판형알림
이 책의 원서/번역서 Using the C++ Standard Template Libraries/Horton, Ivor

책소개

이 책이 속한 분야

C++14 STL의 단계별 입문서『C++14 STL 철저 입문』. C++ 표준안은 시대의 흐름에 맞춰 3년 주기로 바뀌고 있다. C++08, C++11, C++14까지 나오면서 표준 템플릿 라이브러리(STL)도 바뀌었다. STL 자체는 방대하지만, 학습에는 단계가 있다. 컨테이너 → 반복자 → 알고리즘 → 고급 주제 순으로 학습하는 게 좋다. 이 순서는 STL의 첫 번째 관문인 컨테이너를 만드는 방법, 컨테이너에서 반복자를 사용하는 방법, 컨테이너와 반복자를 사용해 알고리즘을 적용하는 방법으로 설명한다.

저자소개

저자 : 아이버 호튼

저자 아이버 호튼(Ivor Horton)은 수학자로 졸업했지만, 적게 일해도 많이 벌 수 있다는 전망 때문에 정보 기술에 이끌렸다. 아쉽게도 현실은 많은 일을 해야 했고 보상은 그럭저럭 이지만, 지금까지 컴퓨터로 일하고 있다. 프로그래밍, 시스템 디자인, 컨설턴트, 상당히 복잡한 프로젝트의 관리 같은 다양한 일에 참여했다. 오랜 기간 공학 설계와 제조 공정 분야에서 시스템을 설계했었다. 과거에는 다양한 언어로 응용프로그램을 개발했지만, 지금은 과학자나 엔지니어를 대상으로 강의하는 데 많은 시간을 쓰고 있다. 현재까지 C, C++, 자바에 관한 책을 집필했다. 책을 집필하거나 컨설팅을 하지 않을 때는 낚시와 여행을 즐기며 즐겁게 생활하고 있다.

역자 : 조현태

역자 조현태는 시간이 있을 때면 다양한 물건을 만들어보거나 시도해보는 것을 좋아한다. 지금은 아두이노로 관리되는 베란다 텃밭을 만드는 중이다.

목차

1장 표준 템플릿 라이브러리
__1.1 기본 아이디어
__1.2 템플릿
__1.3 컨테이너
__1.4 반복자
____1.4.1 반복자 얻기
____1.4.2 반복자 카테고리
____1.4.3 스트림 반복자
____1.4.4 반복자 어댑터
______1.4.4.1 역방향 반복자
______1.4.4.2 삽입 반복자
______1.4.4.3 이동 반복자
__1.5 반복자에 쓰이는 연산
__1.6 스마트 포인터
____1.6.1 unique_ptr〈T〉 포인터 사용하기
______1.6.1.1 unique_ptr〈T〉 객체를 초기화하기
______1.6.1.2 unique_ptr〈T〉 객체를 비교하고 검사하기
____1.6.2 shared_ptr〈T〉 객체 사용하기
______1.6.2.1 shared_ptr〈T〉 객체 초기화하기
______1.6.2.2 shared_ptr〈T〉 객체를 비교하고 검사하기
____1.6.3 weak_ptr〈T〉 포인터
__1.7 알고리즘
__1.8 함수를 인수로 전달하기
____1.8.1 함수 객체
____1.8.2 람다 표현식
______1.8.2.1 람다 표현식에 이름 지정하기
______1.8.2.2 람다 표현식을 함수에 전달하기
______1.8.2.3 캡처 절
__1.9 요약
__1.10 연습문제

2장 순차 컨테이너
__2.1 순차 컨테이너
____2.1.1 컨테이너의 공통 함수 멤버
__2.2 array〈T,N〉 컨테이너 사용하기
____2.2.1 원소에 접근하기
____2.2.2 array 컨테이너에서 반복자 사용하기
____2.2.3 array 컨테이너의 비교
__2.3 vector〈T〉 컨테이너 사용하기
____2.3.1 vector〈T〉 컨테이너 생성하기
____2.3.2 벡터의 용량과 크기
____2.3.3 원소에 접근하기
____2.3.4 vector 컨테이너에서 반복자 사용하기
____2.3.5 벡터 컨테이너에 새 원소 추가하기
______2.3.5.1 원소를 추가하기
______2.3.5.2 원소를 삽입하기
____2.3.6 원소를 삭제하기
____2.3.7 vector〈bool〉 컨테이너
__2.4 deque〈T〉 컨테이너 사용하기
____2.4.1 deque 컨테이너 생성하기
____2.4.2 원소에 접근하기
____2.4.3 원소를 추가하고 제거하기
____2.4.4 deque 컨테이너의 내용을 대체하기
__2.5 list〈T〉 컨테이너 사용하기
____2.5.1 list 컨테이너 생성하기
____2.5.2 원소 추가하기
____2.5.3 원소를 제거하기
____2.5.4 원소를 정렬하고 병합하기
____2.5.5 원소에 접근하기
__2.6 forward_list〈T〉 컨테이너 사용하기
__2.7 반복자를 직접 정의하기
____2.7.1 STL 반복자 요구사항
______2.7.1.1 STL 반복자 사용의 문제
______2.7.2 STL 접근 방식
______2.7.2.1 반복자 템플릿 사용하기
______2.7.2.2 STL 반복자 멤버 함수 요구사항
__2.8 요약
__2.9 연습문제

3장 컨테이너 어댑터
__3.1 컨테이너 어댑터는 무엇인가?
__3.2 stack〈T〉 컨테이너 어댑터 생성과 사용하기
____3.2.1 스택 연산
__3.3 queue〈T〉 컨테이너 어댑터 생성과 사용하기
____3.3.1 큐 연산
____3.3.2 queue 컨테이너의 실제 사용
__3.4 priority_queue〈T〉 컨테이너 어댑터 사용하기
____3.4.1 우선순위 큐를 생성하기
____3.4.2 우선순위 큐를 위한 연산
__3.5 힙
____3.5.1 힙 생성하기
____3.5.2 힙 연산
__3.6 포인터를 컨테이너에 저장하기
____3.6.1 순차열 컨테이너에 포인터 저장하기
____3.6.2 우선순위 큐에 포인터 저장하기
____3.6.3 포인터 힙
____3.6.4 기반 클래스 포인터를 담은 컨테이너
____3.6.5 알고리즘을 포인터 범위에 적용하기
__3.7 요약
__3.8 연습문제

4장 map 컨테이너
__4.1 맵 컨테이너 소개
__4.2 map 컨테이너 사용하기
____4.2.1 map 컨테이너 생성하기
____4.2.2 맵에 원소 삽입하기
____4.2.3 map 원소를 내부에서 생성하기
____4.2.4 map의 원소들에 접근하기
____4.2.5 원소 삭제하기
__4.3 pair〈〉와 tuple〈〉 객체 사용하기
____4.3.1 pair 연산
____4.3.2 tuple 연산
____4.3.3 tuple과 pair를 함께 사용
__4.4 multimap 컨테이너 사용하기
__4.5 비교 함수를 바꾸기
____4.5.1 greater〈T〉 객체 사용하기
____4.5.2 원소를 비교하는 함수 객체 정의하기
__4.6 해싱
____4.6.1 해시 값을 생성하는 함수
__4.7 unordered_map 컨테이너 사용하기
____4.7.1 unordered_map 컨테이너 생성과 관리하기
____4.7.2 버킷 개수 조정하기
____4.7.3 원소 삽입하기
____4.7.4 원소에 접근하기
____4.7.5 원소 제거하기
____4.7.6 버킷에 접근하기
__4.8 unordered_multimap 컨테이너 사용하기
__4.9 요약
__4.10 연습문제

5장 set으로 작업하기
__5.1 set 컨테이너 이해하기
__5.2 set〈T〉 컨테이너 사용하기
____5.2.1 원소 추가와 제거
____5.2.2 원소에 접근하기
____5.2.3 set으로 작업하기
______5.2.3.1 학생 생성하기
______5.2.3.2 과목을 수강하는 학생들을 set으로 생성하기
______5.2.3.3 과목과 코스를 생성하기
______5.2.3.4 코스에 학생을 등록하기
______5.2.3.5 학생들의 수강 과목 검사하기
______5.2.3.6 코스를 출력하기
______5.2.3.7 전체 프로그램
____5.2.4 set 반복자
____5.2.5 set 컨테이너에 포인터 저장하기
______5.2.5.1 set 컨테이너에 스마트 포인터를 저장하는 예제
______5.2.5.2 shared_ptr 원소들의 벡터를 생성하기
______5.2.5.3 weak_ptr가 참조하는 객체를 출력하기
______5.2.5.4 map 컨테이너에서 스마트 포인터를 키로 사용하기
______5.2.5.5 스마트 포인터를 비교할 때의 문제점
__5.3 multiset〈T〉 컨테이너 사용하기
____5.3.1 포인터를 파생 클래스 객체에 저장하기
______5.3.1.1 컨테이너를 정의하기
______5.3.1.2 예제에 사용할 main() 정의하기
__5.4 unordered_set〈T〉 컨테이너 사용하기
____5.4.1 원소 추가하기
____5.4.2 원소 가져오기
____5.4.3 원소 삭제하기
____5.4.4 버킷 리스트를 보여주기
__5.5 unordered_multiset〈T〉 컨테이너 사용하기
__5.6 set 연산
____5.6.1 set_union() 알고리즘
____5.6.2 set_intersection() 알고리즘
____5.6.3 set_difference() 알고리즘
____5.6.4 set_symmetric_difference() 알고리즘
____5.6.5 includes() 알고리즘
____5.6.6 집합 연산 실습
__5.7 요약
__5.8 연습문제

6장 정렬, 병합, 검색, 분리
__6.1 범위를 정렬하기
____6.1.1 같은 원소의 정렬과 순서
____6.1.2 부분 정렬
____6.1.3 정렬된 범위의 테스트
__6.2 범위를 병합하기
__6.3 범위를 검색하기
____6.3.1 범위에서 원소 찾기
____6.3.2 범위에서 원소 범위 중에 하나를 찾기
____6.3.3 범위에서 여러 원소를 찾기
______6.3.3.1 find_end() 알고리즘
______6.3.3.2 search() 알고리즘
______6.3.3.3 search_n() 알고리즘
__6.4 범위를 분리하기
____6.4.1 partition_copy() 알고리즘
____6.4.2 partition_point() 알고리즘
__6.5 이진 탐색 알고리즘
____6.5.1 binary_search() 알고리즘
____6.5.2 lower_bound() 알고리즘
____6.5.3 equal_range() 알고리즘
__6.6 요약
__6.7 연습문제

7장 다양한 알고리즘
__7.1 원소 속성을 테스트하기
__7.2 범위를 비교하기
____7.2.1 범위에서 일치하지 않는 위치를 찾기
____7.2.2 사전 순서로 범위 비교하기
____7.2.3 범위의 순열
__7.3 범위를 복제하기
____7.3.1 n개의 원소들을 복제하기
____7.3.2 조건에 따라 복제하기
____7.3.3 역순으로 복제하기
__7.4 원소 순서를 뒤집어서 복제하기
__7.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 연습문제

8장 랜덤 숫자 생성하기
__8.1 랜덤 숫자란 무엇인가?
__8.2 확률, 분포, 엔트로피
____8.2.1 확률이란 무엇인가?
____8.2.2 분포란 무엇인가?
____8.2.3 엔트로피는 무엇인가?
__8.3 STL에서 랜덤 숫자를 생성하기
____8.3.1 랜덤 숫자 생성에서 시드
____8.3.2 랜덤 시드 구하기
____8.3.3 시드 순차열
__8.4 분포 클래스
____8.4.1 기본 랜덤 넘버 생성기
____8.4.2 분포 객체를 생성하기
____8.4.3 균등분포
______8.4.3.1 이산균등분포
______8.4.3.2 균등분포 정수 적용하기
______8.4.3.3 연속균등분포
______8.4.3.4 연속균등분포를 사용하기
______8.4.3.5 표준균등분포를 생성하기
____8.4.4 정규분포
______8.4.4.1 정규분포를 사용하기
____8.4.5 로그정규분포
______8.4.5.1 로그정규분포 사용하기
____8.4.6 정규분포와 관련된 다른 분포
____8.4.7 샘플링분포
______8.4.7.1 이산분포
______8.4.7.2 이산분포 사용하기
______8.4.7.3 조각 상수분포
______8.4.7.4 조각 선형분포
____8.4.8 나머지 분포
______8.4.8.1 푸아송분포
______8.4.8.2 기하분포
______8.4.8.3 지수분포
______8.4.8.4 감마분포
______8.4.8.5 베이불분포
______8.4.8.6 이항분포
______8.4.8.7 음이항분포
______8.4.8.8 극치분포
__8.5 랜덤 넘버 엔진과 생성기
____8.5.1 선형 합동 엔진
______8.5.1.1 선형 합동 엔진에 기반한 생성기
____8.5.2 메르센 트위스터 엔진
______8.5.2.1 메르센 트위스터 엔진의 인스턴스인 생성기
____8.5.3 감산 캐리 엔진
______8.5.3.1 감산 캐리 엔진의 인스턴스인 생성기
__8.6 원소 범위를 섞기
__8.7 요약
__8.8 연습문제

9장 스트림 연산
__9.1 스트림 반복자
____9.1.1 입력 스트림 반복자
______9.1.1.1 반복자와 스트림 반복자
______9.1.1.2 입력 스트림 함수 멤버를 사용해 읽기
____9.1.2 출력 스트림 반복자
______9.1.2.1 출력 스트림 반복자의 함수 멤버를 사용한 쓰기
__9.2 삽입 연산자와 추출 연산자를 오버로딩하기
__9.3 스트림 반복자를 파일과 사용하기
____9.3.1 파일 스트림
____9.3.2 파일 스트림 클래스 템플릿
____9.3.3 스트림 반복자를 사용한 파일 입력
____9.3.4 스트림 반복자를 사용해 파일 읽기를 반복하기
____9.3.5 스트림 반복자를 사용한 파일 출력
__9.4 스트림 반복자와 알고리즘
__9.5 스트림 버퍼 반복자
____9.5.1 입력 스트림 버퍼 반복자
____9.5.2 출력 스트림 버퍼 반복자
____9.5.3 스트림 버퍼 반복자와 파일 스트림 사용하기
__9.6 문자열 스트림, 스트림, 스트림 버퍼 반복자
__9.7 요약
__9.8 연습문제

10장 수치, 시간, 복소수 데이터 사용하기
__10.1 수치 계산
__10.2 수치 알고리즘
____10.2.1 범위에 증분값을 저장하기
____10.2.2 범위 합계
____10.2.3 내적
______10.2.3.1 내적 적용하기
______10.2.3.2 내적 연산의 대안을 정의하기
____10.2.4 인접 원소들의 차
____10.2.5 부분 합
____10.2.6 극댓값과 극솟값
__10.3 수치 값을 저장하고 이용하기
____10.3.1 valarray 객체의 기본 연산
____10.3.2 단항 연산자
____10.3.3 valarray 객체에 복합 할당 연산자 사용하기
____10.3.4 valarray 객체에 이항 연산자 적용하기
____10.3.5 valarray 객체의 원소에 접근하기
______10.3.5.1 슬라이스 생성하기
______10.3.5.2 행을 선택하기
______10.3.5.3 열을 선택하기
______10.3.5.4 슬라이스 사용하기
______10.3.5.5 슬라이스를 적용해 방정식을 풀기
______10.3.5.6 가우스 소거법
______10.3.5.7 소거 과정
______10.3.5.8 최적 피벗 찾기
______10.3.5.9 다중 슬라이스
______10.3.5.10 행이나 열을 여러 개 선택하기
______10.3.5.11 gslice 객체 사용하기
______10.3.5.12 원소에서 임의의 서브셋을 선택하기
______10.3.5.13 원소를 조건에 따라 선택하기
__10.4 유리수 계산
__10.5 시간 관련 템플릿
____10.5.1 duration 정의하기
______10.5.1.1 duration의 산술 연산
______10.5.1.2 duration 타입의 변환
______10.5.1.3 duration 비교
______10.5.1.4 duration 리터럴
____10.5.2 클록과 시점
______10.5.2.1 시점 생성하기
______10.5.2.2 시점의 duration
______10.5.2.3 시점으로 산술 연산
______10.5.2.4 시점을 비교하기
______10.5.2.5 클록으로 연산하기
______10.5.2.6 실행 시간 측정하기
__10.6 복소수
____10.6.1 복소수를 표현하는 객체를 생성하기
____10.6.2 복소수 연산
____10.6.3 복소수의 비교와 기타 연산
____10.6.4 복소수를 사용하는 간단한 예제
__10.7 요약
__10.8 연습문제

출판사 서평

25년 이상 C++ 책을 쓴 아이버 호튼이 설명하는
C++14 표준 템플릿 라이브러리(STL)
템플릿, 컨테이너, 반복자, 알고리즘을 그림으로 학습하고,
고급 기능인 랜덤, 분포, 스트림, 수치, 시간, 복소수까지 마스터한다

[출판사 리뷰]
처음 배울 때 최신 버전이어야 한다

C++14로 시작하는 STL 입문
C++ 표준안은 시대의 흐름에 맞춰 3년 주기로 바뀌고 있다. C++08, C++11, C++14까지 나오면서 표준 템플릿 라이브러리(STL)도 바뀌었다. 옛 문법으로 STL을 학습하면 새 버전에서 바뀐 ... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품