홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
예제로 배우는 C++ STL 이미지

예제로 배우는 C++ STL
영진.com(영진닷컴) | 부모님 | 2025.04.15
  • 정가
  • 33,000원
  • 판매가
  • 29,700원 (10% 할인)
  • S포인트
  • 1,650P (5% 적립)
  • 상세정보
  • 18.8x25.7 | 0.912Kg | 480p
  • ISBN
  • 9788931479409
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기
  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

최신 C++20 표준을 기반으로, 표준 템플릿 라이브러리(STL)를 실무에서 효과적으로 활용하는 방법을 안내하는 실전 중심의 활용서다. 단순한 문법 설명을 넘어, 실제 개발 환경에서 마주할 수 있는 문제들을 다양한 레시피 형식의 예제를 통해 해결하며, STL의 구조와 작동 방식을 정확하고 체계적으로 설명한다.

컨테이너, 알고리즘, 반복자, 람다 표현식, 유틸리티 클래스 등 STL의 핵심 요소는 물론, C++20에서 새롭게 도입된 기능까지 폭넓게 다루며, 동시성 프로그래밍, 메모리 관리, 문자열 처리와 같은 고급 주제도 함께 소개한다. 이를 통해 기초를 다지고 싶은 입문자부터, 실무 적용에 고민이 많은 개발자, 모던 C++ 스타일을 익히고 싶은 숙련자까지 모두에게 실질적인 도움을 줄 수 있도록 구성되어 있다. STL을 제대로 활용하고 싶지만 막막했던 분들, 최신 C++ 표준을 기반으로 더 나은 코드를 작성하고 싶은 분들에게 이 책은 가장 빠르고 확실한 길잡이가 되어줄 것이다.

  출판사 리뷰

《예제로 배우는 C++ STL》은 최신 C++20 표준을 기반으로, STL의 핵심 개념을 가장 실용적이고 체계적인 방식으로 익힐 수 있도록 구성된 책입니다.

많은 C++ 개발자들이 STL의 방대한 기능과 복잡한 문법 앞에서 어려움을 느낍니다. 특히 실무에 어떻게 적용해야 할지, 기존 방식과 어떤 점이 다른지 고민하는 분들이 많습니다. 이 책은 그런 고민을 해결하기 위해 기획되었습니다.

단순한 문법 설명을 넘어, 실제 개발 현장에서 마주치는 문제들을 중심으로 STL을 어떻게 쓰고, 왜 그렇게 써야 하는지를 다양한 예제로 풀어냅니다. 각각의 예제는 곧바로 실무에 적용 가능한 코드 레시피로 구성되어 있어, 읽는 즉시 활용할 수 있습니다.

또한 STL을 처음 접하는 독자부터 기존 C++ 방식에 익숙한 개발자, 그리고 최신 표준에 맞춰 코드를 현대화하고자 하는 숙련자까지 모든 수준의 개발자에게 실질적인 도움을 줄 수 있도록 구성했습니다.

STL을 제대로 배우고 싶은 분, 모던 C++의 사고방식을 익히고 싶은 분, 실전 코드 중심의 학습을 원하는 분들에게 강력히 추천하는 책입니다.
지금 바로 《예제로 배우는 C++ STL》과 함께 STL의 세계를 정확하고 빠르게 마스터해 보세요.




  작가 소개

지은이 : 빌 와인먼
1971년, 16세의 나이에 첫 번째 컴퓨터를 만든 이후로 기술 분야에 종사해 왔다. 1970년대 초반부터 C와 C++로 코딩을 해왔으며, NASA, 뱅크오브아메리카, 제록스, IBM, 미 해군을 포함한 주요 고객을 위해 시스템과 애플리케이션을 개발했다. 전자공학자로서도 활동하며 보이저 2호 우주선, SAE의 오디오 앰프, 알텍 랜싱의 사운드 시스템 개발에 참여했다. 1990년대 중반부터는 글쓰기와 교육에 집중해 왔다. 그의 책과 강의는 HTML, SQL, CGI, Python, 그리고 물론 C와 C++을 다룬다. 온라인 교육의 초창기부터 활동해 온 그는 명확하고 간결한 글쓰기로 LinkedIn Learning에서 꾸준히 인기를 끌고 있다.

  목차

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 알고리즘 만들기
- 연속된 공백 제거하기
- 숫자를 단어로 변환하기

  회원리뷰

리뷰쓰기