본문으로 건너뛰기
PROGRAMMING · C++1724강 학습 가능

모던 C++ 심화

문법 다음에 만나는 메모리·수명·소유권 문제를 이해하고, RAII와 STL로 재사용 가능한 표준 C++ 프로그램을 설계합니다.

강의 수24강
난이도중급 → 심화
최종 결과물테스트 가능한 작업 큐와 리소스 관리 콘솔 도구
진행률을 불러오는 중...
학습 시작

과정의 학습 의도​

이 과정은 Unreal Engine 사용법을 가르치는 과정이 아닙니다. 모던 C++에서 익힌 C++11~17 문법과 STL 기초를 바탕으로 게임, 서버, 도구 프로그램에 공통으로 적용되는 표준 C++17의 객체 수명과 자원 관리 규칙을 다룹니다. 포인터를 문법 기호로 외우지 않고 주소가 언제 유효한지 추적하며, new와 delete의 실패를 RAII와 스마트 포인터로 고칩니다. 이후 복사·이동·STL·오류 처리·동시성을 하나의 설계 기준으로 연결합니다.

선수 지식​

  • C++ 변수, 조건문, 반복문, 함수와 클래스의 기본 문법
  • 모던 C++의 auto, 람다, vector, optional과 unique_ptr 입문
  • 소스 파일을 C++17로 컴파일하고 콘솔 프로그램을 실행한 경험
  • 오류 메시지에서 파일명과 줄 번호를 찾을 수 있는 정도의 개발 환경 사용 경험

문법이 아직 낯설다면 Python 과정으로 제어 흐름을, Java 과정으로 클래스와 컬렉션을 먼저 익힐 수 있습니다. 컨테이너의 성능 기준은 자료구조 · 알고리즘에서 확장합니다.

기존 과정과의 실제 연결​

권장 환경​

  • 언어 기준: C++17
  • Windows: Visual Studio Community의 MSVC 또는 C++17을 지원하는 clang++/g++
  • 빌드: Debug와 Release 구성을 구분하고 경고 수준을 높게 설정
  • 검증: 사용 가능한 환경에서 AddressSanitizer와 UndefinedBehaviorSanitizer 사용

컴파일러별 옵션과 Sanitizer 지원 범위는 다를 수 있습니다. 강의의 예제는 표준 C++17을 기준으로 하며 특정 엔진이나 유료 라이브러리를 요구하지 않습니다.

최종 결과물​

콘솔 기반 작업 큐와 리소스 관리 도구를 만듭니다. Task가 이름·우선순위·상태를 값으로 보관하고, TaskService가 등록·조회·완료 전환을 조정합니다. ITaskStorage가 저장 방식을 감추고 FileLogger가 파일 자원을 RAII로 관리합니다. 소유권 표와 클래스 책임표를 먼저 작성한 뒤 unique_ptr, vector, unordered_map, 표준 알고리즘, 오류 결과와 테스트를 단계적으로 통합합니다.

전체 커리큘럼​

구간강의학습 의도
수명과 주소1~5실제 버그에서 출발해 메모리 영역, 포인터, 참조, 동적 할당의 위험을 추적
소유권과 값 의미6~13RAII, 스마트 포인터, 복사·이동, Rule of Zero, const와 전달 방식 설계
STL과 표현력14~18컨테이너, 알고리즘, 람다, optional·variant를 요구사항에 맞게 선택
실패와 확장19~23오류 모델, 템플릿, 안전한 문법, 동시성과 도구 기반 디버깅
최종 실습24작업 큐·저장소·파일 로그를 책임과 소유권이 보이는 구조로 완성

24강 전체 커리큘럼 보기

COURSE ORIENTATION

과정 선택 안내​

학습 대상
모던 C++ 이후 객체 수명·소유권·RAII·오류 처리·동시성을 실제 C++17 설계로 확장하려는 학습자
선수지식
모던 C++ 과정 또는 auto·람다·vector·optional·unique_ptr 입문 경험
최종 결과물
저장 실패와 소유권 테스트를 포함한 작업 큐·리소스 관리 콘솔 도구