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
영문 채널:
- CppCon (https://www.youtube.com/@CppCon)
- C++ 컨퍼런스 발표 영상
- 최신 기능과 Best Practice
- 추천 영상: "Back to Basics: Virtual Functions"
- The Cherno (https://www.youtube.com/@TheCherno)
- C++ 시리즈가 매우 상세함
- Virtual Functions, Memory Management 등
- Jason Turner (https://www.youtube.com/@cppweekly)
- C++ Weekly 시리즈
- 짧고 집중적인 주제별 설명
한글 채널:
- 코드없는 프로그래밍
- 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개월)
- C++ Primer 또는 온라인 튜토리얼
- 기본 문법, 포인터, 참조, 클래스
- cppreference.com으로 개념 확인
Phase 2: Modern C++ (2-3개월)
- Effective Modern C++ 읽기
- Smart pointers, move semantics, lambda
- 작은 프로젝트 만들어보기
Phase 3: C++20 신기능 (2-3개월)
- C++20 - The Complete Guide
- Concepts, Ranges, Coroutines, Modules
- cppreference.com의 C++20 섹션 정독
Phase 4: 심화 (지속적)
- CppCon 영상 보기
- 오픈소스 프로젝트 코드 읽기
- 표준 라이브러리 구현 분석
🔍 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. 커뮤니티
국내
- OKKY (https://okky.kr/)
- C++ 질문답변
- 생활코딩 커뮤니티
해외
- Stack Overflow (https://stackoverflow.com/questions/tagged/c++)
- 전 세계 C++ 개발자들의 Q&A
- Reddit r/cpp (https://www.reddit.com/r/cpp/)
- C++ 뉴스와 토론
- C++ Slack / Discord 커뮤니티
🎯 8. 실전 프로젝트 아이디어
이론만 공부하지 말고 직접 만들어보세요:
- 간단한 게임 엔진
- Virtual functions으로 GameObject 계층 구조
- JSON Parser
- Modern C++ 기능 활용
- 간단한 컴파일러
- Virtual functions, visitor pattern
- 메모리 관리자
- Smart pointers 구현
📌 추천 학습 순서
1. cppreference.com에서 개념 찾기
↓
2. 책이나 강의로 체계적 학습
↓
3. Compiler Explorer로 내부 동작 확인
↓
4. 직접 코드 작성하고 실험
↓
5. CppCon 영상으로 심화 학습
↓
6. Stack Overflow에서 실제 문제 해결
🌟 개인적 추천 (효율적인 학습)
- cppreference.com - 매일 하나씩 읽기
- "C++20 - The Complete Guide" - 체계적 학습
- Compiler Explorer - 실험 및 검증
- CppCon YouTube - 주말에 한 편씩
- 직접 코드 작성 - 이론의 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 |