예제로 배우는 C++ STL
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

컨테이너, 알고리즘, 반복자, 람다 표현식, 유틸리티 클래스 등 STL의 핵심 요소는 물론, C++20에서 새롭게 도입된 기능까지 폭넓게 다루며, 동시성 프로그래밍, 메모리 관리, 문자열 처리와 같은 고급 주제도 함께 소개합니다. 이를 통해 기초를 다지고 싶은 입문자부터, 실무 적용에 고민이 많은 개발자, 모던 C++ 스타일을 익히고 싶은 숙련자까지 모두에게 실질적인 도움을 줄 수 있도록 구성되어 있습니다.
STL을 제대로 활용하고 싶지만 막막했던 분들, 최신 C++ 표준을 기반으로 더 나은 코드를 작성하고 싶은 분들에게 이 책은 가장 빠르고 확실한 길잡이가 되어줄 것입니다.
작가정보
빌 와인먼은 1971년, 16세의 나이에 첫 번째 컴퓨터를 만든 이후로 기술 분야에 종사해 왔다. 1970년대 초반부터 C와 C++로 코딩을 해왔으며, NASA, 뱅크오브아메리카, 제록스, IBM, 미 해군을 포함한 주요 고객을 위해 시스템과 애플리케이션을 개발했다. 전자공학자로서도 활동하며 보이저 2호 우주선, SAE의 오디오 앰프, 알텍 랜싱의 사운드 시스템 개발에 참여했다. 1990년대 중반부터는 글쓰기와 교육에 집중해 왔다. 그의 책과 강의는 HTML, SQL, CGI, Python, 그리고 물론 C와 C++을 다룬다. 온라인 교육의 초창기부터 활동해 온 그는 명확하고 간결한 글쓰기로 LinkedIn Learning에서 꾸준히 인기를 끌고 있다.

책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후, LG전자 CTO 선행 플랫폼 개발실에서 Chromium 기반 웹 엔진을 개발하고 있다. C++20 기반의 STL 책을 번역하게 된 이유는 오픈소스 프로젝트인 Chromium이 C++20을 공식적으로 지원하기 때문이다. 집필한 책으로는 「코딩은 처음이라 with 자바」(영진닷컴), 「처음 배우는 플러터」, 「RxJava 프로그래밍」, 「안드로이드를 위한 Gradle」(이상 한빛미디어)이 있다. 번역한 책으로는 「클린 코드의 기술」(영진닷컴), 「자바와 JUnit을 활용한 실용주의 단위 테스트」(길벗), 「자바로 배우는 핵심 자료구조와 알고리즘」(한빛미디어) 등이 있다.
목차
- 1장 C++20의 새로운 기능
- 예제 코드
- 새로운 format 라이브러리로 텍스트 서식화하기
- constexpr로 컴파일 타임에 벡터와 문자열 사용하기
- 서로 다른 타입의 정수 안전하게 비교하기
- 삼중 비교를 위해 우주선 연산자(⇔) 사용하기
- 〈version〉 헤더를 사용하여 기능 시험 매크로 쉽게 찾기
- 컨셉과 제약조건을 통해 더 안전한 템플릿 만들기
- 모듈을 사용하여 템플릿 라이브러리의 재컴파일 피하기
- 레인지를 사용하여 컨테이너에 뷰 생성하기
2장 일반적인 STL 기능
- 예제 코드
- 새로운 span 클래스를 사용하여 C 배열을 안전하게 만들기
- 구조적 바인딩을 사용하여 다수의 값 반환하기
- if와 switch문 안에서 변수 초기화하기
- 템플릿 인수 추론을 사용하여 단순성과 명확성 높이기
- if constexpr 문을 사용하여 컴파일 타임 결정 단순화하기
3장 STL 컨테이너
- STL 컨테이너 타입에 대한 빠른 개요
- 예제 코드
- 단일 제거 함수를 사용하여 컨테이너의 값 제거하기
- 정렬되지 않은 벡터에서 상수 시간으로 값 제거하기
- 벡터의 요소에 직접적이고 안전하게 접근하기
- 벡터의 요소들의 정렬 유지하기
- 맵에 요소를 효율적으로 삽입하기
- 맵 항목의 키를 효율적으로 변경하기
- unordered_map에 사용자 정의 타입의 키 사용하기
- set으로 사용자 입력을 정렬하고 필터링하기
- deque으로 단순한 RPN 계산기 만들기
- map으로 단어 빈도수 계산기 만들기
- 벡터의 벡터로 긴 문자열 찾기
- multimap으로 작업 목록 만들기
4장 호환성있는 반복자
- 반복자가 기본
- 반복자 카테고리
- 반복자 컨셉
- 예제 코드
- 반복 가능한 레인지 생성하기
- 반복자를 STL 반복자 특성과 호환되게 하기
- 반복자 어댑터를 사용하여 STL 컨테이너 채우기
- 반복자로 생성기 만들기
- 역방향 반복자 어댑터를 사용하여 역방향으로 반복하기
- 센티널을 넣어 길이를 알 수 없는 객체 반복하기
- zip 반복자 어댑터 만들기
- 임의 접근 반복자 만들기
5장 람다 표현식
- 람다 표현식
- 클로저
- 예제 코드
- 람다를 사용하여 범위가 지정된 재사용 가능한 코드 만들기
- 람다를 알고리즘 라이브러리의 서술로 사용하기
- std::function을 다형적 래퍼로 사용하기
- 재귀로 람다 접합하기
- 서술을 논리적 결합으로 합치기
- 같은 입력으로 여러 람다 호출하기
- 맵 기반 람다를 사용하여 점프 테이블 만들기
6장 STL 알고리즘
- 예제 코드
- 한 반복자에서 다른 반복자로 복사하기
- 컨테이너의 요소들을 문자열로 합치기
- std::sort로 컨테이너 정렬하기
- std::transform으로 컨테이너 변경하기
- 컨테이너에 있는 아이템 찾기
- std::clamp로 컨테이너에 있는 값 한정하기
- std::sample로 데이터 집합의 표본 추출하기
- 일련의 데이터로부터 순열 생성하기
- 정렬된 컨테이너 병합하기
7장 문자열, 스트림과 서식화
- 문자열 서식화
- 예제 코드
- string_view 클래스를 경량 문자열 객체로 사용하기
- 문자열 접합하기
- 문자열 변형하기
- C++20의 format 라이브러리로 텍스트 서식화하기
- 문자열의 공백 제거하기
- 사용자 입력으로 문자열 읽기
- 파일에 있는 단어 수 세기
- 파일 입력으로 복합 구조 초기화하기
- char_traits로 문자열 클래스 커스터마이징하기
- 정규 표현식으로 문자열 파싱하기
8장 유틸리티 클래스
- 예제 코드
- std::optional로 선택적 값 관리하기
- 타입 안정성을 위해 std::any 사용하기
- std::variant로 서로 다른 타입 저장하기
- std::chrono로 시간 이벤트 다루기
- 가변 튜플을 위한 폴드 표현식 사용하기
- std::unique_ptr로 할당된 메모리 관리하기
- std::shared_ptr로 객체 공유하기
- 공유된 객체를 위한 약한 포인터 사용하기
- 관리 객체의 멤버 공유하기
- 난수 엔진 비교하기
- 난수 분포 생성기 비교하기
9장 동시성과 병렬성
- 예제 코드
- 특정 시간 동안 슬립하기
- 동시성을 위해 std::thread 사용하기
- 동시성을 위해 std::async 사용하기
- 실행 정책에 따라 STL 알고리즘 병렬로 실행하기
- 뮤텍스와 잠금으로 데이터 안전하게 공유하기
- std::atomic으로 플래그와 값 공유하기
- std::call_once로 스레드 초기화하기
- std::condition_variable을 사용하여 생산자-소비자 문제 해결하기
- 다수의 생산자와 소비자 구현하기
10장 파일 시스템 사용하기
- 예제 코드
- path 클래스를 위한 std::formatter 특수화하기
- path를 위한 조작 함수 사용하기
- 디렉터리의 파일 나열하기
- grep 유틸리티로 디렉터리와 파일 찾기
- regex와 directory_iterator로 파일명 변경하기
- 디스크 사용량 카운터 만들기
11장 생각해볼 주제들
- 예제 코드
- 검색 제안을 위한 trie 클래스 만들기
- 두 벡터의 오차 합 계산하기
- 나만의 split 알고리즘 만들기
- 기존 알고리즘을 레버리지하는 gather 알고리즘 만들기
- 연속된 공백 제거하기
- 숫자를 단어로 변환하기
출판사 서평
《예제로 배우는 C++ STL》은 최신 C++20 표준을 기반으로, STL의 핵심 개념을 가장 실용적이고 체계적인 방식으로 익힐 수 있도록 구성된 책입니다.
많은 C++ 개발자들이 STL의 방대한 기능과 복잡한 문법 앞에서 어려움을 느낍니다. 특히 실무에 어떻게 적용해야 할지, 기존 방식과 어떤 점이 다른지 고민하는 분들이 많습니다. 이 책은 그런 고민을 해결하기 위해 기획되었습니다.
단순한 문법 설명을 넘어, 실제 개발 현장에서 마주치는 문제들을 중심으로 STL을 어떻게 쓰고, 왜 그렇게 써야 하는지를 다양한 예제로 풀어냅니다. 각각의 예제는 곧바로 실무에 적용 가능한 코드 레시피로 구성되어 있어, 읽는 즉시 활용할 수 있습니다.
또한 STL을 처음 접하는 독자부터 기존 C++ 방식에 익숙한 개발자, 그리고 최신 표준에 맞춰 코드를 현대화하고자 하는 숙련자까지 모든 수준의 개발자에게 실질적인 도움을 줄 수 있도록 구성했습니다.
STL을 제대로 배우고 싶은 분, 모던 C++의 사고방식을 익히고 싶은 분, 실전 코드 중심의 학습을 원하는 분들에게 강력히 추천하는 책입니다.
지금 바로 《예제로 배우는 C++ STL》과 함께 STL의 세계를 정확하고 빠르게 마스터해 보세요.
기본정보
ISBN | 9788931479409 |
---|---|
발행(출시)일자 | 2025년 04월 15일 |
쪽수 | 480쪽 |
크기 |
188 * 257
* 28
mm
/ 1338 g
|
총권수 | 1권 |
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)