More actions
No edit summary |
(Repair batch-0003 pages from live compare) |
||
| (100 intermediate revisions by 3 users not shown) | |||
| Line 8: | Line 8: | ||
== 진행 == | == 진행 == | ||
* ppt 파일을 통해 진행합니다. | * ~~ppt 파일을 통해 진행합니다.~~ | ||
* 매주 화요일 오후 8시 ~ 오후 10시에 진행합니다. | * ~~매주 화요일 오후 8시 ~ 오후 10시에 진행합니다.~~ | ||
** 진행 상황에 따라 연장해서 진행될 수도 있습니다. | ** ~~진행 상황에 따라 연장해서 진행될 수도 있습니다.~~ | ||
* C언어와 겹치는 부분은 상황에 따라 생략될 수도 있습니다. | * ~~2019년 여름방학 한정으로 매주 화요일 오후 6시부터 진행됩니다.~~ | ||
* ~~C언어와 겹치는 부분은 상황에 따라 생략될 수도 있습니다.~~ | |||
* 현재는 사정상 오프라인으로 진행하지 않고, 온라인으로 자료 공유 + 자유롭게 질답하는 방법으로 진행하고 있습니다. | |||
== 참가자 == | == 참가자 == | ||
* [[신형철]], [[한재현]], [[정우현]], [[김민하]], [[송정우]] | * [[신형철]], [[한재현]], [[정우현]], [[김민하]], [[송정우]], [[이은서]] | ||
** 참가를 희망하시는 분은 위 목록에 이름을 추가해주시면 됩니다. | ** 참가를 희망하시는 분은 위 목록에 이름을 추가해주시면 됩니다. | ||
** 궁금한 점이 있으시면, 페이지 아래 댓글 목록에 남겨주시거나 [[신형철]]에게 문의하시면 됩니다! | ** 궁금한 점이 있으시면, 페이지 아래 댓글 목록에 남겨주시거나 [[신형철]]에게 문의하시면 됩니다! | ||
| Line 23: | Line 25: | ||
== 목차 == | == 목차 == | ||
=== Part 1. C++ as C extension === | |||
* 1. Introduction | * 1. Introduction | ||
** C++에 대한 간략한 소개 | ** C++에 대한 간략한 소개 | ||
| Line 78: | Line 81: | ||
** Inline | ** Inline | ||
** Constexpr | ** 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<T> | |||
** 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 | |||
== 진행 == | == 진행 == | ||
| Line 96: | Line 261: | ||
* 2019.03.05 | * 2019.03.05 | ||
** Chapter 9.6 ~ Chapter 10.1까지 진행. | ** 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 | |||
** 휴강! | |||
== 댓글 == | == 댓글 == | ||
* 으헝 월요일이라니 아쉽군여 - [[김민하]] | * 으헝 월요일이라니 아쉽군여 - [[김민하]] | ||
** 시간을 다 합쳐보니 월요일 저녁이나 화요일 저녁밖에 되질 않아서 이렇게 되었습니다...ㅠㅠ - [[신형철]] | ** 시간을 다 합쳐보니 월요일 저녁이나 화요일 저녁밖에 되질 않아서 이렇게 되었습니다...ㅠㅠ - [[신형철]] | ||
* 캬~~ 여기가 그 말로만 듣던 은하수 인가요?? - ??? | |||
** 은하수...는 아닐겁니다...? - [[신형철]] | |||
* 퀴즈의 경우에 저작권 걸고 공유하는 것도 좋을 것 같습니다~, 문제가 상당히 고퀄이라 들어서;;; - [[우준혁]] | |||
** 깃허브에 공유되어 있습니다! - [[신형철]] | |||
Latest revision as of 00:29, 27 March 2026
개요
- 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<T>
- 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
- 휴강!