장바구니 담기 close

장바구니에 상품을 담았습니다.

핵심 C++ 표준 라이브러리

핵심 C++ 표준 라이브러리

  • 라이너그림
  • |
  • 길벗
  • |
  • 2021-11-30 출간
  • |
  • 348페이지
  • |
  • 183 X 235 X 14 mm
  • |
  • ISBN 9791165217877
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




C++의 높은 허들 넘기! 11부터 17까지 모던 C++ 라이브러리가 도와드립니다.

이 책은 C++17 기반의 C++ 표준 라이브러리를 다룬 레퍼런스 북으로, C++ 프로그래머가 C++ 표준 라이브러리에 대해 알아야 할 사항을 간결하게 핵심 위주로 알려드립니다. 어떤 라이브러리가 있는지 소개하고, 어떻게 사용하는지, 어떤 경우에 사용하면 좋은지를 다룹니다.
- 각 기능의 사용법과 성능
- 각 기능을 사용할 때 주의점과 팁
에 주목하고, 이론과 실습을 결합한 코드 예제를 제시하여 이해를 높였습니다.

이 책에서 다루는 내용
유틸리티
컨테이너 인터페이스
순차 컨테이너
연관 컨테이너
컨테이너 어댑터
반복자
콜러블
알고리즘
수학
스트링
스트링 뷰
정규 표현식
입력 스트림과 출력 스트림
파일 시스템 라이브러리
멀티스레딩

[베타테스터 실습 후기]
책의 분량이 그다지 많지 않음에도 STL을 이해하는 데 필요한 핵심 내용과 간결한 예제를 담고 있습니다. STL 전반을 살펴보고자 하는 경우, 라이브러리 사용법이 궁금한 경우 곁에 두고 볼 수 있는 책입니다.
- 김종덕_ 네이버 브라우저 개발

이 책은 C++의 STL을 소개하고 있으므로 C++ 기본 문법을 익히고 나서 보는 것을 추천한다. 많은 사람이 C++ 기본 문법을 공부하지만, STL은 공부하지 않는 것 같다. 하지만 C++ STL을 익히고 나면 직접 구현하지 않고도 많은 기능을 활용할 수 있다. 필요할 때 찾아 쓰는 형태로 STL을 공부한다면 어떤 라이브러리를 제공하는지 모르기 때문에 직접 구현하거나 서드파티 라이브러리를 이용하게 되는데, 이 책은 그런 수고를 덜어주며 C++ STL에서 제공하는 많은 함수를 예제를 통해 간결하게 설명하고 있다. 전체적으로 STL을 훑어보고 싶다면 이 책을 강력히 추천한다.
- 노형석_ NAVER Cloud

확실히 간략하게 설명하므로 깔끔한 맛이 있었고, 키워드(keyword)가 다 정리돼 있어서 좋았다. 또한, 새로운 C++17 버전에 대해 배워야겠다고 늘 생각만 해왔는데, 여러 가지 알고리즘을 자세히 설명해줘서 매우 유익했다. C/C++ 입문자나 초보자에게는 다소 어려울 수도 있겠다.
- 장승호_ 미주리 대학교 - 세인트루이스

C++ 표준 라이브러리를 전반적으로 훑어보는 데 도움이 됩니다. 또한, 컨테이너, 알고리즘 등의 구조와 동작 원리를 담고 있으므로 표준 라이브러리가 제공하는 기능 중에서 내가 구현하고자 하는 로직에 적합한 것을 선택하는 데도 유용한 좋은 책입니다.
- 한원식_ 콘텐츠웨이브

C++ 표준이나 레퍼런스라는 타이틀이 붙으면 이른바 ‘베개 책’을 떠올리게 됩니다. 과연 저 책을 몇 번이나 읽을지 의문이 드는 엄청난 두께의 책들이 대부분이기 때문이죠. 하지만 라이너 그림의 이 책은 이미 만족스럽게 읽었던 1판만큼이나 2판에서도 마찬가지로 좋은 느낌을 안겨줬습니다.
이 책은 C++ API 자체를 나열한 것이 아니라 C++의 핵심 API들과 함께 주요 자료구조와 알고리즘, 특히 최신 C++17 표준을 포함해 기술했습니다. 따라서 매번 인터넷을 뒤지기보다는 한 권 정도 소장해서 필요할 때마다 꺼내 레퍼런스로 이용할 만한 도서입니다.
C++는 쉽지 않고 다른 언어들의 인기는 치솟고 있지만, 네이티브 코드에서는 C++가 여전히 주류를 이루고 있습니다. 이 책을 통해 C++ 실력이 한층 더 발전하길 기대합니다.
- 이진_ 휴맥스

C++의 기본을 학습하고 나서 추가 학습을 할 때 추천하는 책입니다. 예제를 통해 다양한 라이브러리를 사용하면서 배울 수 있기에 책을 보고 개발을 하면 코드를 더욱더 발전시킬 수 있을 것입니다. 여러 라이브러리를 통해 코드를 익힐 수 있고 용어 설명도 잘돼 있으므로, 이 책을 다 읽고 나면 자신도 모르게 실력이 향상될 것입니다.
- 고요한_ 페이스북 그룹 C++ OpenSource 운영진


목차


1장 표준 라이브러리
__1.1 역사
__1.2 개요
____1.2.1 유틸리티
____1.2.2 표준 템플릿 라이브러리
____1.2.3 수치 연산
____1.2.4 텍스트 처리
____1.2.5 입력과 출력
____1.2.6 멀티스레딩
__1.3 라이브러리 활용
____1.3.1 헤더 파일 인클루드하기
____1.3.2 네임스페이스 지정하기
____1.3.3 실행 파일 생성하기

2장 유틸리티
__2.1 유용한 함수들
____2.1.1 std::min, std::max, std::minmax
____2.1.2 std::move
____2.1.3 std::forward
____2.1.4 std::swap
__2.2 함수 어댑터
____2.2.1 std::bind
____2.2.2 std::function
__2.3 페어
____2.3.1 std::make_pair
__2.4 튜플
____2.4.1 std::make_tuple
____2.4.2 std::tie와 std::ignore
__2.5 레퍼런스 래퍼
____2.5.1 std::ref와 std::cref
__2.6 스마트 포인터
____2.6.1 std::unique_ptr
____2.6.2 std::shared_ptr
____2.6.3 std::weak_ptr
____2.6.4 순환 참조
__2.7 타입 트레이트
____2.7.1 타입 정보 검사
____2.7.2 기본 타입 카테고리
____2.7.3 복합 타입 카테고리
____2.7.4 타입 속성
____2.7.5 타입 비교
____2.7.6 타입 수정
__2.8 시간 라이브러리
____2.8.1 시점
____2.8.2 기간
____2.8.3 클럭
__2.9 std::any, std::optional, std::variant
____2.9.1 std::any
____2.9.2 std::optional
____2.9.3 std::variant

3장 컨테이너 인터페이스
__3.1 생성과 삭제
__3.2 크기
__3.3 접근
__3.4 대입과 맞바꾸기
__3.5 비교

4장 순차 컨테이너
__4.1 배열
__4.2 벡터
____4.2.1 크기 vs. 용량
__4.3 덱
__4.4 리스트
__4.5 포워드 리스트

5장 연관 컨테이너
__5.1 개요
____5.1.1 원소의 추가와 삭제
__5.2 정렬 연관 컨테이너
____5.2.1 개요
____5.2.2 키와 값
____5.2.3 비교 기준
____5.2.4 탐색 함수
____5.2.5 std::map
__5.3 비정렬 연관 컨테이너
____5.3.1 개요
____5.3.2 키와 값
____5.3.3 성능
____5.3.4 해시 함수
____5.3.5 세부 사항

6장 컨테이너 어댑터
__6.1 스택
__6.2 큐
__6.3 우선순위 큐

7장 반복자
__7.1 카테고리
__7.2 반복자 만들기
__7.3 유용한 함수
__7.4 어댑터
____7.4.1 추가 반복자
____7.4.2 스트림 반복자

8장 콜러블
__8.1 함수
__8.2 함수 오브젝트
____8.2.1 미리 정의된 함수 오브젝트
__8.3 람다 함수

9장 알고리즘
__9.1 사용법
__9.2 반복자
__9.3 순차, 병렬 실행 또는 벡터화를 적용한 병렬 실행
____9.3.1 실행 정책
____9.3.2 병렬 실행을 지원하는 알고리즘
__9.4 for_each
__9.5 원소를 수정하지 않는 알고리즘
____9.5.1 원소 탐색
____9.5.2 원소 개수 세기
____9.5.3 범위에 대한 조건 검사하기
____9.5.4 범위 비교
____9.5.5 범위 탐색하기
__9.6 원소를 수정하는 알고리즘
____9.6.1 원소와 범위 복제하기
____9.6.2 원소와 범위 교체하기
____9.6.3 원소와 범위 제거하기
____9.6.4 범위 채우고 생성하기
____9.6.5 범위 옮기기
____9.6.6 범위 맞바꾸기
____9.6.7 범위 변환하기
____9.6.8 범위 순서 바꾸기
____9.6.9 범위 회전시키기
____9.6.10 범위 무작위로 섞기
____9.6.11 중복 제거하기
__9.7 분할
__9.8 정렬
__9.9 이진 탐색
__9.10 합병 연산
__9.11 힙
__9.12 최대 최소
__9.13 순열
__9.14 수치 알고리즘
__9.15 C++17부터 추가된 알고리즘
__9.16 C++20부터 추가된 알고리즘

10장 수학
__10.1 무작위수
____10.1.1 무작위수 생성기
____10.1.2 무작위수 분포
__10.2 C에서 물려받은 수학 함수

11장 스트링
__11.1 생성과 삭제
__11.2 C++ 스트링과 C 스트링 간 변환
__11.3 크기 vs. 용량
__11.4 비교
__11.5 스트링 결합
__11.6 원소 접근
__11.7 입력과 출력
__11.8 탐색
__11.9 수정 연산
__11.10 숫자 변환

12장 스트링 뷰
__12.1 생성과 초기화
__12.2 비수정 연산
__12.3 수정 연산

13장 정규 표현식
__13.1 문자 타입
__13.2 정규 표현식 오브젝트
__13.3 검색 결과 - match_results
____13.3.1 std::sub_match
__13.4 매치
__13.5 검색
__13.6 교체
__13.7 포맷
__13.8 반복 검색
____13.8.1 std::regex_iterator
____13.8.2 std::regex_token_iterator

14장 입력 스트림과 출력 스트림
__14.1 계층 구조
__14.2 입력 함수와 출력 함수
____14.2.1 입력
____14.2.2 포맷 비지정 입력
____14.2.3 출력
____14.2.4 포맷 지정자
__14.3 스트림
____14.3.1 스트링 스트림
____14.3.2 파일 스트림
____14.3.3 스트림 상태
__14.4 사용자 정의 데이터 타입

15장 파일 시스템 라이브러리
__15.1 클래스
____15.1.1 파일의 접근 권한 조작하기
__15.2 비멤버 함수
____15.2.1 파일을 마지막으로 쓴 시각을 읽거나 설정하기
____15.2.2 파일 시스템 공간 정보 알아내기
__15.3 파일 타입
____15.3.1 파일 타입 알아내기

16장 멀티스레딩
__16.1 메모리 모델
__16.2 어토믹 데이터 타입
__16.3 스레드
____16.3.1 생성
____16.3.2 수명
____16.3.3 인수
____16.3.4 연산
__16.4 공유 변수
____16.4.1 데이터 경쟁
____16.4.2 뮤텍스
____16.4.3 데드락
____16.4.4 락
____16.4.5 std::shared_lock
____16.4.6 스레드에 안전한 초기화
__16.5 스레드 로컬 데이터
__16.6 상태 변수
__16.7 태스크
____16.7.1 스레드 vs. 태스크
____16.7.2 std::async
____16.7.3 std::packaged_task
____16.7.4 std::promise와 std::future

찾아보기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.