핵심 C++ 표준 라이브러리 - 라이너 그림 지음
핵심 C++ 표준 라이브러리

저자 : 라이너 그림 번역 : 남기혁

발행일 : 2021년 11월 30일 출간

분류 : 컴퓨터/IT > 프로그래밍/언어 > C++ KDC : 총류(000)

정가 : 25,000원

출판사
출판사연락처
출판사 주소
쪽수
348
ISBN
9791165217877
크기
184 * 234 * 22 mm / 635 g

도서분류

컴퓨터/IT > 프로그래밍/언어 > C++
컴퓨터/IT > 대학교재
대학교재 > 컴퓨터

도서소개

C++ 프로그래머가 알아야 할, C++ 표준 라이브러리 C++ 표준 라이브러리에 대해 반드시 알아야 할 사항을 간결하게 설명했다. 어떤 라이브러리가 있는지 소개하고, 어떻게 사용하는지, 어떤 경우에 사용하면 좋은지, 성능은 어떤지를 배운다. 사용법은 물론, 사용할 때 주의할 점과 팁이 곳곳에 제시되어 있다. 이 책은 C++에 익숙한 개발자를 위한 것으로, 만약 C++에 익숙하지 않다면 C++의 기본을 학습한 뒤에 이 책을 펼치기 바란다. 그러면 이 책의 내용을 훨씬 더 잘 이해하고, 잘 활용할 수 있을 것이다. 또한, 이론과 실습을 결합하여 최대한 활용할 수 있도록 코드 예제를 많이 제시했다.

상세이미지


저자소개

저자 라이너 그림 1999년부터 소프트웨어 아키텍트이자 팀 리더이자 강사로 일하고 있다. 2002년에는 사내 심화 강좌를 개설하고 파이썬과 C++를 강의했다. 2016년부터는 모던 C++와 파이썬에 대한 세미나와 강의를 열고 있다. 여가 시간에는 C++, 파이썬, 하스켈 프로그래밍을 즐기며 컨퍼런스에서 발표하는 것을 좋아한다. 매주 블로그에 글을 올리고 있다. 오라일리에서 독일어로 『C++ Standardbibliothek』, 『C++ für Programmierer』, 『C++ kurz & gut』 등을 출간했고, 영어로는 『C++20: Get the Details』 등을 출간했다.블로그 https://www.modernescpp.com 쉽게 설명한 C++ 핵심 가이드라인 C++20: 풍부한 예제로 익히는 핵심 기능 핵심 C++ 표준 라이브러리 역자 남기혁 고려대학교 컴퓨터학과에서 학사와 석사를 마치고 한국전자통신연구원에서 선임 연구원으로 재직하고 있다. 번역에 참여한 책으로는 『리팩터링 2판』(한빛미디어, 2020), 『전문가를 위한 C++』(한빛미디어, 2019), 『Go 마스터하기 2판』(에이콘출판사, 2021), 『스콧 애론슨의 양자 컴퓨팅 강의』(에이콘출판사, 2021) 등이 있다. 100 Go Mistakes Go 100가지 실수 패턴과 솔루션 전문가를 위한 C++ 자율주행 자동차 만들기 모던 C 책임감 있는 반응형 디자인 The Hundred-Page Machine Learning Book 이더리움 쿡북 메이커를 위한 실전 모터 가이드 스마트 IoT 프로젝트(Paperback) 파이썬으로 배우는 인공지능

목차

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 찾아보기

서평

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 운영진
목록
장바구니 담기