본문 바로가기
코딩/cpp

c++ 공부 track

by 적막한숲 2025. 10. 3.

C++20 심화 학습 자료 추천

C++20의 세세한 내용을 공부할 수 있는 자료들을 카테고리별로 정리해드릴게요!

📚 1. 책 (가장 추천!)

영문 서적

  • "C++ Primer (5th Edition)" - Stanley Lippman
    • 기본부터 심화까지, 매우 상세한 설명
    • C++11 기준이지만 기본기 다지기에 최고
  • "Effective Modern C++ (한글판 있음)" - Scott Meyers
    • C++11/14 기준이지만 modern C++의 핵심 개념
    • 42가지 Best Practice
  • "C++20 - The Complete Guide" - Nicolai M. Josuttis
    • C++20에 특화된 최고의 책
    • Concepts, Ranges, Coroutines 등 신기능 상세 설명
  • "Professional C++, 5th Edition" - Marc Gregoire
    • C++20 내용 포함
    • 실무 중심의 상세한 설명

한글 서적

  • "전문가를 위한 C++" - Marc Gregoire (Professional C++ 번역본)
    • 한글로 읽을 수 있는 좋은 선택
  • "Effective Modern C++" - Scott Meyers (한글판)
    • 번역이 잘 되어있음

🌐 2. 온라인 레퍼런스 (무료)

cppreference.com ⭐ 최고의 레퍼런스

https://en.cppreference.com/
  • C++20의 모든 기능이 상세히 문서화
  • Virtual function, vtable 등 내부 동작 설명
  • 예제 코드 포함
  • 한글 버전도 일부 있음: https://ko.cppreference.com/

Microsoft C++ 문서

https://learn.microsoft.com/en-us/cpp/
  • C++20 기능 설명
  • Visual Studio 기준이지만 표준 설명도 우수

cplusplus.com

https://cplusplus.com/
  • 초보자 친화적
  • 튜토리얼과 레퍼런스 제공

🎓 3. 온라인 강의

Udemy (한글 자막 있는 강의)

  • "홍정모의 따라하며 배우는 C++"
    • 한글 강의, 기초부터 탄탄하게
    • 원리 중심 설명

YouTube

영문 채널:

한글 채널:

  • 코드없는 프로그래밍
    • C++ 개념 설명

💻 4. 실습 사이트

Compiler Explorer (Godbolt)

https://godbolt.org/
  • 코드를 어셈블리로 변환해서 보여줌
  • Virtual function이 어떻게 구현되는지 직접 확인 가능
  • C++20 지원
// 예: vtable이 어떻게 생성되는지 확인
class Base {
public:
    virtual void func() {}
};

class Derived : public Base {
public:
    void func() override {}
};

C++ Insights

https://cppinsights.io/
  • 컴파일러가 코드를 어떻게 해석하는지 보여줌
  • 템플릿, auto, virtual 등의 내부 동작 확인

LeetCode / Codeforces

  • 실전 문제 풀이로 C++ 실력 향상

📖 5. 학습 로드맵 추천

Phase 1: 기초 탄탄히 (1-2개월)

  1. C++ Primer 또는 온라인 튜토리얼
  2. 기본 문법, 포인터, 참조, 클래스
  3. cppreference.com으로 개념 확인

Phase 2: Modern C++ (2-3개월)

  1. Effective Modern C++ 읽기
  2. Smart pointers, move semantics, lambda
  3. 작은 프로젝트 만들어보기

Phase 3: C++20 신기능 (2-3개월)

  1. C++20 - The Complete Guide
  2. Concepts, Ranges, Coroutines, Modules
  3. cppreference.com의 C++20 섹션 정독

Phase 4: 심화 (지속적)

  1. CppCon 영상 보기
  2. 오픈소스 프로젝트 코드 읽기
  3. 표준 라이브러리 구현 분석

🔍 6. 특정 주제 학습 팁

Virtual Functions 심화 학습

// 1단계: cppreference.com에서 검색
// https://en.cppreference.com/w/cpp/language/virtual

// 2단계: Compiler Explorer에서 실험
class Base {
public:
    virtual void f() { }
};

// 3단계: C++ Insights로 내부 동작 확인

// 4단계: CppCon에서 관련 발표 찾기
// "Back to Basics: Object-Oriented Programming"

📱 7. 커뮤니티

국내

해외

🎯 8. 실전 프로젝트 아이디어

이론만 공부하지 말고 직접 만들어보세요:

  1. 간단한 게임 엔진
    • Virtual functions으로 GameObject 계층 구조
  2. JSON Parser
    • Modern C++ 기능 활용
  3. 간단한 컴파일러
    • Virtual functions, visitor pattern
  4. 메모리 관리자
    • Smart pointers 구현

📌 추천 학습 순서

1. cppreference.com에서 개념 찾기
   ↓
2. 책이나 강의로 체계적 학습
   ↓
3. Compiler Explorer로 내부 동작 확인
   ↓
4. 직접 코드 작성하고 실험
   ↓
5. CppCon 영상으로 심화 학습
   ↓
6. Stack Overflow에서 실제 문제 해결

🌟 개인적 추천 (효율적인 학습)

  1. cppreference.com - 매일 하나씩 읽기
  2. "C++20 - The Complete Guide" - 체계적 학습
  3. Compiler Explorer - 실험 및 검증
  4. CppCon YouTube - 주말에 한 편씩
  5. 직접 코드 작성 - 이론의 10배 중요!

특정 주제(예: virtual functions, templates, move semantics 등)를 더 깊이 알고 싶으시면 말씀해주세요. 해당 주제에 맞는 구체적인 자료를 추천해드릴게요! 😊

'코딩 > cpp' 카테고리의 다른 글

[백준] 1389번  (0) 2025.10.03
[TWC 4.5Sota] Overloading vs. Overriding  (0) 2025.10.03
[TIPS] Overloading Function (2)  (0) 2025.10.03
[TIPS] overloading Function (1)  (0) 2025.10.03
[백준] 30804번  (0) 2025.10.02