-
-
예제로 배우는 C++ STL
빌 와인먼 지음, 유동환 옮김 / 영진.com(영진닷컴) / 2025년 4월
평점 :

*** 이 리뷰는 리뷰클럽의 소개로 출판사로부터 도서를 제공받아 주관적으로
작성한 글입니다 ***
이 책은 객체지향형 언어 C++의 STL(standard
templated library)을 사용하여 다양한 문제들을 해결하는 방법을 배우고 구체적인 예제들을 통해 연습하는 컴퓨터 프로그래밍
교재이다.
책의 구성과 내용은 STL 기능들을 중심으로 총 11개 단원에 걸쳐 이루어져 있다(container, iterater, lambda
expression, algorithm, string과 stream, utility, concurrency,
file system, trie 등): 각 단원마다 3가지
부분으로 나누어, STL library 함수에 관한 정의와 사용법을 설명하고(how to do it) 실제 적용 사례들을 기술하고, 추가적으로
커스터마이징이 필요한 경우나 용도의 제약을 기술하고 있다(how it works).
이 책에서는 C++20표준을 포함하고 있고, 사용된 예제들은 github사이트에 제공되어 있다.
저자는 미국의 전문 프로그래머 빌 와인먼 작가이다.
---
이 책은 C++ 언어의 경험자를 대상으로 하고 있다: 기본적인 C++ 문법에 대한 설명은 생략되어 제시되지 않는다. 특히, 템플릿(template) 개념에
대한 지식과 이해가 사전에 있어야 표준 템플릿 라이브러리(STL)의 기능과 함수들을 사용하는 것이 가능하다.

개인적인 판단에는 파이썬(python) 언어에 대한 경험이 있다면
컨테이너(container)나 맵(map) STL라이브러리
사용하는 데에는 쉽게 적응할 수 있고, 자바(java) 언어에서
동시성(concurrency)과 람다 구문(lambda
expression)에 익숙하다면 해당 STL 라이브러리를 사용하기에 문제가 없다는 생각이다.
C++의 표준 템플릿 라이브러리는 클래스와 함수를 인자로써 인스턴스화해서
사용하겠다는 제네릭(generic) 프로그래밍 개념에 기반한 작업 방식이기 때문에 제대로 사용하려면
일종의 훈련이 필요한 기능이기도 하다: 인자 타입을 초월하여 공통적인 데이터와 함수 기능만을 갖고 있는
본체 템플릿을 미리 머리 속에서 특정한 개체로 인스턴스화하고 호출하는 과정을 상상해보는 것이 코드 작성에 도움이 된다.
특히 윈도우 계열의 운영체제뿐만 아니라 리눅스 계열의 운영체제에서도 동일한 문법적 규칙이 적용되도록 지원되는
라이브러리 함수들이라는 점에서 개발 플랫폼이 달라지더라도 C++ 응용프로그램 개발에는 전혀 지장을 받지
않게 된다는 것이 STL을 사용하는 가장 큰 매력일 것이다.
이 책에서는 실행가능한 완성 코드가 예제 파일로써 제공되기 때문에, 예제
코드를 실행해보는 것만으로도 혼자서 학습하는 데 유용한 부분이 있다.

전반적으로 보면, 파일 처리나 동시성 처리처럼 고급 C++프로그래밍 기술을 학습하는데 적합한 학습 교재라는 생각이 든다.
[#프로그래밍 #C++ #C++20 #STL #예제로배우는C++STL ]