본문으로 건너뛰기
안동민 개발노트 아이콘

안동민 개발노트

본문 시작

나 혼자 C++

기초 문법과 메모리 모델에서 객체지향·템플릿·STL·동시성·성능 진단까지 C++의 선택 기준을 단계적으로 익힙니다.

C++는 문법을 많이 아는 것보다, 언제 어떤 기능을 선택해야 하는지 판단하는 능력이 더 중요합니다.

입문 단계에서는 포인터나 템플릿이 어렵게 느껴질 수 있지만, 핵심 원리를 순서대로 익히면 충분히 체계적으로 올라갈 수 있습니다.

이 교재는 기초 문법에서 시작해 객체지향, 템플릿, 현대 C++, 멀티스레딩까지 연결되는 흐름으로 구성되어 있습니다.

특히 성능과 안전성을 동시에 고려해야 하는 C++의 특성을 반영해, 실무에서 자주 만나는 선택 기준을 문장으로 충분히 설명합니다.

각 장은 독립적으로 읽을 수도 있지만, 앞 장의 개념을 뒤에서 계속 재사용하도록 설계되어 있어 순차 학습이 가장 효과적입니다.

코드가 동작하는 이유와 실패하는 이유를 함께 다루기 때문에, 단순 따라쓰기보다 오래 남는 이해를 만드는 데 유리합니다.

아래 목차를 기준으로 학습하면 문법 중심 학습에서 설계 중심 학습으로 자연스럽게 전환할 수 있습니다.

최종적으로는 복잡한 시스템에서도 C++ 코드를 근거 있게 읽고 작성하는 수준을 목표로 합니다.

처음부터 모든 세부 문법을 같은 깊이로 외우기보다, 지금 단계에서 붙잡아야 할 경계와 잠시 미뤄도 되는 경계를 나누면 학습 부담을 줄일 수 있습니다.

C++ 학습은 기능 목록보다 값의 위치, 객체의 수명, 실행 비용이라는 세 기준으로 묶어 보면 흐름이 선명해집니다.

이 기준을 잡아두면 포인터, RAII, STL, 스레드가 서로 다른 주제가 아니라 같은 질문의 확장으로 이어집니다.


장별 목차

각 장을 읽은 뒤에는 작은 예제를 다시 작성하고, 일부러 깨뜨려 보며, 수명과 비용을 말로 설명하는 루틴을 반복하는 것이 좋습니다.

C++ 학습은 문법을 많이 외우는 방향보다 수명, 소유권, 복사 비용을 말로 설명하는 방향으로 진행하면 뒤 장의 난도가 낮아집니다.

학습을 마친 뒤에는 컴파일 오류·정의되지 않은 동작·성능 저하의 원인을 구분하고, 어느 장의 개념으로 돌아가야 하는지 찾을 수 있어야 합니다.

이 페이지의 목차