Devin.KR

심화 · 전체 목차 공개

RAII·템플릿·동시성 설계

값 범주와 이동, 직접 만드는 RAII, 템플릿·concepts·constexpr, ranges, 스레드·원자적 연산까지 현대 C++ 설계를 주문 처리 엔진으로 익힌다.

이 책을 읽기 전에

《C++ 객체와 자원 관리》 수준의 RAII·스마트 포인터·컨테이너

공개 12/12장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    값 범주와 완벽 전달 - lvalue·rvalue·forwarding reference

    lvalue/prvalue/xvalue, std::move 가 실제로 하는 일, 전달 참조와 std::forward, emplace 계열이 필요한 이유, 이동 후 객체 상태

  2. 02
    직접 만드는 RAII 타입 - 파일 핸들과 잠금 가드

    자원 래퍼 설계, 복사 금지·이동 허용, noexcept 이동과 vector 재할당, unique_ptr 사용자 삭제자, scope guard

  3. 03
    템플릿 인자 추론과 오버로드 해석

    함수 템플릿 추론 규칙, auto 와 decltype(auto), 클래스 템플릿 인자 추론(CTAD), 오버로드 우선순위, 흔한 추론 실패 메시지 읽기

  4. 04
    concepts 로 템플릿 제약 걸기 - 읽히는 오류 메시지

    requires 절과 concept 정의, 표준 concept(std::integral, std::ranges::range), SFINAE 와 비교, 제약으로 오버로드 나누기

  5. 05
    컴파일 타임 계산 - constexpr·consteval·static_assert

    constexpr 함수와 변수, consteval, if constexpr 로 분기, 컴파일 타임 표 만들기, static_assert 로 가정 고정

  6. 06
    ranges 와 views - 지연 파이프라인으로 데이터 거르기

    views::filter/transform/take, 파이프 연산자, 뷰의 수명과 댕글링, ranges 알고리즘, 성능 특성

  7. 07
    optional·variant·expected 로 실패와 상태 표현하기

    std::optional 반환, std::variant 와 std::visit 로 상태 기계, std::expected(C++23) 소개와 대안, 예외와의 선택 기준

  8. 08
    std::thread 와 jthread - 스레드 수명 관리

    thread 생성·join·detach 함정, jthread 와 stop_token, 스레드에 인자 전달(참조 함정), 예외와 스레드

  9. 09
    뮤텍스와 조건 변수 - 스레드 안전 작업 큐 만들기

    데이터 경쟁 재현, mutex·lock_guard·unique_lock·scoped_lock, 조건 변수와 가짜 깨움, 생산자·소비자 큐, -fsanitize=thread

  10. 10
    atomic 과 메모리 순서 - 잠금 없는 카운터의 조건

    std::atomic 연산, memory_order 기본(seq_cst/acquire/release/relaxed) 직관, 거짓 공유(false sharing), 언제 atomic 대신 mutex 를 쓰나

  11. 11
    future·promise·async - 결과를 기다리는 방법

    std::async 실행 정책, future.get 과 예외 전달, promise 로 신호 주기, 스레드 풀 개념, 작업 취소 설계

  12. 12
    성능을 위한 설계 - 메모리 배치·복사 줄이기·측정

    값 의미론과 복사 비용 측정, reserve 와 재할당, 캐시 친화적 배치(구조체 배열 vs 배열 구조체), 간단한 벤치마크 방법과 최적화 착시

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청