[[TableOfContents]] == 개요 == * [Sharpest]에서 이어지는 후속 C++ 스터디. * 스터디 내부에서 C++에 대한 수요가 있어서, 전환해서 진행하게 되었습니다. * 제목에 오타가 있지만, 뭔가 그럴싸해서 유지하기로 결정했습니다. * ~~느리지만~~ 날카롭게 C++을 공부해봅시다! == 진행 == * ~~ppt 파일을 통해 진행합니다.~~ * ~~매주 화요일 오후 8시 ~ 오후 10시에 진행합니다.~~ * ~~진행 상황에 따라 연장해서 진행될 수도 있습니다.~~ * ~~2019년 여름방학 한정으로 매주 화요일 오후 6시부터 진행됩니다.~~ * ~~C언어와 겹치는 부분은 상황에 따라 생략될 수도 있습니다.~~ * 현재는 사정상 오프라인으로 진행하지 않고, 온라인으로 자료 공유 + 자유롭게 질답하는 방법으로 진행하고 있습니다. == 참가자 == * [신형철], [한재현], [정우현], [김민하], [송정우], [이은서] * 참가를 희망하시는 분은 위 목록에 이름을 추가해주시면 됩니다. * 궁금한 점이 있으시면, 페이지 아래 댓글 목록에 남겨주시거나 [신형철]에게 문의하시면 됩니다! == 목표 == * C++ 언어의 문법을 공부합니다. * 언뜻 지나치기 쉬웠던 부분, 코드 작성 시 함정을 피하는 방법을 공부합니다. * 상황에 따른 언어 사용 전략, 수행 원리 등을 공부합니다. == 목차 == === Part 1. C++ as C extension === * 1. Introduction * C++에 대한 간략한 소개 * Hello, World! * 2. Basic Statement * 주석 * 제어문 * 3. Primitive Types * Primitive Types * Primitive Type 간 변환 * 상수 정의 * 4. Compound Types * 참조자 * 포인터 * 참조자 vs 포인터 * 5. Const & Constexpr * const * constexpr * static_assert * 6. Array * 배열 * 배열과 포인터 * C 타입 문자열 * 다차원 배열 * 퀴즈 * 7. Type Aliasing & Type Deduction * Type aliasing * Type deduction * 8. Expression * lvalue & rvalue * Evaluation * Arithmetic operation * Logical/Relational operation * Other operations * sizeof * Alignment * Casting * 9. Variable & Function * Lifetime * Linkage * Function frame * Parameter * Return * Optimization * Argument * 10. Overload & Resolution * Function overload * Mangling * Resolution * 11. Function pointer & Assertion * Function pointer * Assertion * Debugging * 12. Inline & Constexpr specifier * Inline * Constexpr * 13. Quiz & Answer (1~12) * Quiz === Part 2. C++ as OOP Language (1) === * 14. Class * Class * Encapsulation * 15. Basic Constructors * Class Constructor * Synthesis Constructor * Delegating Constructor * Converting Constructor * 16. Accessibility * Access * Friend * Class Scope * 17. Members & Declaration * Instance Members * Forward Declaration * Constness * Static Members * 18. Special Classes * Aggregate Class * POD Type * Trivial Class * Standard Layout * Constexpr Class * 19. Initialization * Initialization * Default Initialization * Value Initialization * Zero Initialization * Direct Initialization * Copy Initialization * List Initialization * Aggregate Initialization * Reference Initialization * 20. Non-Local Initialization * Non-Local Initialization * Static Initialization * Dynamic Initialization * 21. Quiz & Answer (14 ~ 20) * Quiz === Part 3. C++ through Library (1) === * 22. Stream * I/O Classes * I/O States * File I/O * String I/O * 23. Formatted & Non-Formatted I/O * Manipulators * Non-Formatted I/O * 24. Sequential Containers * Sequential Containers * Iterator * Operations * Insertion * Access * Deletion * Resize * Container-Specific Operations * Vector Growth * Invalidation * 25. String * Creation * Modification * Search * Comparison * Numeric String * Other String * 26. String View & Conversion * String View * View Operations * Pitfalls * Conversion * 27. Container Adaptor * Adaptor * Stack * Queue * Complexity * 28. Associative Containers * Association * Pair * Structured Binding * Operations * Unordered Container * Invalidation * Complexity * 29. Callable Elements * Callable * Lambda Expression * Function Binding * Callable Wrapping * Functors * 30. Algorithms & Special Iterators * Algorithm * Categorization * Customization * Special Iterators * Iterator Categories * Container-Specialized Algorithms * 31. Quiz & Answer (22 ~ 30) * Quiz === Part 4. C++ as OOP Language (2) === * 32. Memory Allocation * Dynamic Memory * New & Delete * Dynamic Array * Allocator * 33. Smart Pointers * Overview * Shared Pointer * Unique Pointer * Weak Pointer * Dynamic Array + Smart Pointer * 34. Copy Control * Copy Control * Copy Constructor * Copy & Initialization * Copy Assignment * Destructor * Rule of Three/Five * Default & Delete * Swap * 35. Move Semantics * R-value Reference * Move Constructor * Move Assignment * Synthesized Move Operator * Move Iterator * Move Operation And DRY * Reference Qualifier * 36. Operator Overloading * Overloading For Operators * Operator Examples * Functor * Callable And Function * Conversion Operator * 37. Object-Oriented Programming * Object-Oriented Programming * Base/Derived Classes * Derived-To-Base Conversion * Base-To-Derived Conversion * Static In Inheritance * Virtual Function * Pure Virtual Function * Dynamic Binding * 38. Inheritance Accessibility * Inherited Member Visibility * Inheritance & Scope * 39. Inheritance Copy Control & Polymorphic Container * Inheritance & Copy Control * Constructor Inheritance * Inheritance & STL Container === Part 5. C++ as Generic Programming Language === * 41. Templates * Generic Programming * Function Template * Class Template * Template Compilation * 42. Template Argument & Deduction == 진행 == * 2019.01.14 * Chapter 1 ~ Chapter 3.2까지 진행. * 2019.01.22 * Chapter 3.3 ~ Chapter 5까지 진행. * 2019.01.29 * Chapter 6 ~ Chapter 7까지 진행. * 2019.02.12 * Chapter 8.1 ~ Chapter 8.5까지 진행. * 2019.02.21 * Chapter 8.6 ~ Chapter 9.1까지 진행. * 2019.02.25 * Chapter 9.1 리뷰. * Chapter 9.2 ~ Chapter 9.5까지 진행. * 2019.03.05 * Chapter 9.6 ~ Chapter 10.1까지 진행. * 2019.03.12 * Chapter 10.2 ~ Chapter 11.1까지 진행. * 2019.03.19 * Chapter 13. Q1 ~ Q24 퀴즈 진행 및 풀이. * 2019.03.26 * Chapter 11.1 ~ Chapter 12.1까지 진행. * 2019.04.02 * Chapter 11.1 ~ Chapter 12.1까지 리뷰. * Chapter 12.2 진행. (Part 1 종료!) * Chapter 14.1 ~ Chapter 14.2까지 진행. * 2019.04.09 * Chapter 13. Q25 ~ Q65 퀴즈 진행 및 풀이. * 2019.04.16 / 2019.04.23 * 중간고사 관계로 쉬어갑니다! * 2019.04.30 * Chapter 15.1 ~ Chapter 16.3까지 진행. * 2019.05.07 * Chapter 17.1 ~ 17.4까지 진행. * 2019.05.14 * Chapter 17.1 ~ 17.4까지 리뷰. * Chapter 18.1 ~ 18.2까지 진행. * 2019.05.21 * Chapter 18.3 ~ Chapter 19.4까지 진행. * 2019.05.28 * Chapter 19.1 ~ 19.4까지 리뷰. * Chapter 19.5 ~ 19.9까지 진행. * 2019.06.04 * Chapter 20.1 ~ 20.3까지 진행. * Chapter 22.1 ~ 22.4까지 진행. * 2019.06.11 / 2019.06.18 * 기말고사 관계로 쉬어갑니다! * 2019.06.25 * [데블스캠프2019] 관계로 휴강! * 2019.07.02 * Chapter 23.1 ~ 23.2까지 진행. * 2019.07.09 * Chapter 24.1 ~ Chapter 24.3까지 진행. * 2019.07.16 * Chapter 24.4 ~ 24.10까지 진행. * 2019.07.23 * Chapter 25.1 ~ 25.6까지 진행. * 2019.07.30 * Chapter 26.1 ~ 26.4까지 진행. * 2019.08.08 * Chapter 27.1 ~ 27.4까지 진행. * 2019.08.13 * Chapter 28.1 ~ 28.4까지 진행. * 2019.08.22 * Chapter 28.5 ~ 28.7까지 진행. * Chapter 29.1 ~ Chapter 29.2까지 진행. * 2019.08.29 * Chapter 29.2 ~ Chapter 29.4까지 진행. * 2019.09.05 * Chapter 29.4 ~ Chapter 29.5까지 진행. * Chapter 30.1 ~ Chapter 30.4까지 진행. * 2019.09.10 * Chapter 31. Q1 ~ Q36 퀴즈 진행 및 풀이. * 2019.09.17 * Chapter 32.1 ~ Chapter 32.4까지 진행. * 2019.09.24 * Chapter 33.1 ~ Chapter 33.5까지 진행. * Chapter 34.1 ~ Chapter 34.1까지 진행. * 2019.10.01 * Chapter 34.2 ~ Chapter 34.8까지 진행. * 2019.10.08 * Chapter 35.1 ~ Chapter 35.3까지 진행. * 2019.10.29 * Chapter 35.4 ~ Chapter 35.7까지 진행. * Chapter 36.1 ~ Chapter 36.2까지 진행. * 2019.11.05 * Chapter 36.2 ~ Chapter 36.4까지 진행. * 2019.11.12 * Chapter 36.5 ~ Chapter 36.5까지 진행. * Chapter 37.1 ~ Chapter 37.2까지 진행. * 2019.11.19 * 휴강! == 댓글 == * 으헝 월요일이라니 아쉽군여 - [김민하] * 시간을 다 합쳐보니 월요일 저녁이나 화요일 저녁밖에 되질 않아서 이렇게 되었습니다...ㅠㅠ - [신형철] * 캬~~ 여기가 그 말로만 듣던 은하수 인가요?? - [???] * 은하수...는 아닐겁니다...? - [신형철] * 퀴즈의 경우에 저작권 걸고 공유하는 것도 좋을 것 같습니다~, 문제가 상당히 고퀄이라 들어서;;; - [우준혁] * 깃허브에 공유되어 있습니다! - [신형철]