스크랩

구간

핵심 C++ 표준 라이브러리 [2판] C++11, C++14, C++17 표준 반영

라이너 그림 저 | 남기혁 역 | 길벗 | 2021년 11월

북트리

정가
$50.00
판매가
$36.45 (27%↓) 최저가 보상
적립금
$0.73 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791165217877 / 348쪽 183 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 15,120
  • 21,600
  • 22,500
  • 21,420

책 소개

출판사 리뷰

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 운영진

저자 소개

  • 저자 : 라이너 그림
저자 : 라이너 그림 Rainer Grimm
1999년부터 소프트웨어 아키텍트이자 팀 리더이자 강사로 일하고 있다. 2002년에는 사내 심화 강좌를 개설하고 파이썬과 C++를 강의했다. 2016년부터는 모던 C++와 파이썬에 대한 세미나와 강의를 열고 있다. 여가 시간에는 C++, 파이썬, 하스켈 프로그래밍을 즐기며 컨퍼런스에서 발표하는 것을 좋아한다. 매주 블로그에 글을 올리고 있다. 오라일리에서 독일어로 『C++ Standardbibliothek』, 『C++ f?r Programmierer』, 『C++ kurz & gut』 등을 출간했고, 영어로는 『C++20: Get the Details』 등을 출간했다.

역자 : 남기혁
고려대학교 컴퓨터학과에서 학사와 석사를 마치고 한국전자통신연구원에서 선임 연구원으로 재직하고 있다. 번역에 참여한 책으로는 『리팩터링 2판』(한빛미디어, 2020), 『전문가를 위한 C++』(한빛미디어, 2019), 『Go 마스터하기 2판』(에이콘출판사, 2021), 『스콧 애론슨의 양자 컴퓨팅 강의』(에이콘출판사, 2021) 등이 있다.

목차

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

찾아보기

top