[[TableOfContents]] == 개요 == * '''M'''astering '''F'''urther '''C++''' * --Mxxxxx Fxxxxxx C++...-- == ì§„í–‰ == * ì§„í–‰ ë°©ì‹ì€ 과거 [미시Cpp]를 벤치마킹(?)해서 진행합니다. * 즉, 주마다 íŠ¹ì • ì£¼ì œ ë‚´ìš©ì„ ì†Œê°œí•˜ëŠ” ë°©ì‹ìœ¼ë¡œ ì§„í–‰ë©ë‹ˆë‹¤. * ì§„í–‰ 스타ì¼ì€ 과거 [CS] 스터디와 ë™ì¼í•©ë‹ˆë‹¤. * --í…œí”Œë¦¿ë„ ê·¸ëƒ¥ 복사해서...-- * 2016ë…„ 2학기 시작 ì§í›„부터 시작합니다. * ë˜ë„ë¡ì´ë©´ ìˆ˜ìš”ì¼ ì •ëª¨ ì§í›„, 7시ì—서 9시까지 진행합니다. * 주마다 ì§„í–‰ ìš”ì¼ì´ 불가피하게 바뀌어야 í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. * ì§„í–‰ì— ì‚¬ìš©ë˜ëŠ” 소스 코드는 해당 ë ˆí¬ì§€í† ë¦¬ì— ìžˆìŠµë‹ˆë‹¤. * [https://github.com/nErumin/MFCplusplusSource] == ì°¸ê°€ìž == * 기반 C++ ë‚´ìš©ì— ëŒ€í•´ì„œëŠ” ê±°ì˜ ìƒëžµí• ì˜ˆì •ì´ë¯€ë¡œ, 대체ì 으로 ì´ë¯¸ C++ì„ ê³µë¶€í•´ë³¸ ê²½í—˜ì´ ìžˆìœ¼ì‹ íŽ¸ì´ ì¢‹ìŠµë‹ˆë‹¤. * 참가하실 ë¶„ì€ ì•„ëž˜ ì´ë¦„ì„ ì 어주세요! * [ì‹ í˜•ì² ], [ë°•ì¸ì„œ], ~~프로 ë„강러~~[성훈] == 목표 == * C++ ëŒì•„보기 --ëŒì•„보는 ì²™ 하면서 ë” ë‚¯ì„¤ê²Œ 만들기-- * C++11ê³¼ C++14ì˜ ë‚´ìš© 숙지 * í”한 C++ í”„ë¡œê·¸ëž˜ë° ì‹¤ìˆ˜ 방지하기 * C++ì—ì„œì˜ ë™ì‹œì„± 활용하기 == ì°¸ê³ == * [http://www.kyobobook.co.kr/product/detailViewKor.lafejkGb=KOR&mallGb=KOR&barcode=9788945072207&orderClick=LAG&Kc=|C++ Primer 5th Edition] * 기본 ë°”íƒ•ì€ ì´ ì±…ì„ ê¸°ì¤€ìœ¼ë¡œ 합니다. * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791195444946&orderClick=LAH&Kc=|Effective C++] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956743998&orderClick=LAH&Kc=|More Effective C++] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966261642&orderClick=LAH&Kc=|Effective Modern C++] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956743110&orderClick=LAH&Kc=|Effective STL] * [http://www.kyobobook.co.kr/product/detailViewEng.laf?ejkGb=BNT&mallGb=ENG&barcode=9781933988771&orderClick=LAG&Kc=|C++ Concurrency In Action] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788980545063&orderClick=LAG&Kc=|Exceptional C++] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788955507904&orderClick=LAG&Kc=|More Exceptional C++] * [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956742618&orderClick=LAG&Kc=|Exceptional C++ Style] * ê·¸ 외 위키피디아와 C++ ë ˆí¼ëŸ°ìФ 사ì´íЏ 등 == ì§„í–‰ ë‚´ìš© == * [MFC++/9ì›”7ì¼] * [MFC++/10ì›”5ì¼] * MFC++/11ì›”2ì¼ * MFC++/11ì›”9ì¼ * MFC++/11ì›”30ì¼ * MFC++/1ì›”4ì¼ * MFC++/1ì›”11ì¼ * MFC++/1ì›”18ì¼ == ì§„í–‰ ì˜ˆì • ë‚´ìš© == * Chapter 1. 변수와 타입 * #1. ì‚°ìˆ íƒ€ìž… * = ë¶€ë™ì†Œìˆ˜ì ì—°ì‚° 시ì—는 ì •ë°€ë„ ì†ì‹¤ì„ í•ìƒ ê²½ê³„í•˜ìž. * = (지나가는) long longì˜ ìˆ¨ê²¨ì§„ ì´ì•¼ê¸° * #2. ë¬¸ìž íƒ€ìž… * = char, signed char, unsigned char를 구분하ìž. * = 때로는 다양한 ë¬¸ìž í‘œí˜„ë“¤ì„ ê³ ë ¤í•˜ìž. * = 필요하다면 ì´ìŠ¤ì¼€ì´í”„ 시퀀스는 무시하ìž. * #3. 내장 타입 ê°„ 형변환 * = íƒ€ìž…ì˜ ë²”ìœ„ë¥¼ 넘어가는 ê°’ ëŒ€ìž…ì€ ì˜ˆìƒì²˜ëŸ¼ ìž‘ë™í• 수ë„, ê·¸ë ‡ì§€ ì•Šì„ ìˆ˜ë„ ìžˆë‹¤. * = 부호 있는 타입과 부호 없는 íƒ€ìž…ì„ ì„žì–´ì“°ëŠ” 표현ì‹ì€ í•ìƒ ê²½ê³„í•˜ìž. * #4. ìƒìˆ˜ * = 다양한 ìƒìˆ˜ 표기를 활용하ìž. * #5. 초기화와 분리 ì»´íŒŒì¼ * = 초기화와 ëŒ€ìž…ì˜ ì˜ë¯¸ë¥¼ 구분하ìž. * = ê¸°ì¡´ì˜ ì´ˆê¸°í™” ë°©ì‹ê³¼ ëª©ë¡ ì´ˆê¸°í™” ë°©ì‹ì˜ ì°¨ì´ì ì„ ìˆ™ì§€í•˜ìž. * = ë³€ìˆ˜ì˜ ì„ ì–¸ê³¼ ì •ì˜ë¥¼ 구분하ìž. * #6. 복합 타입 * = 참조ìžì˜ ì˜ë¯¸ë¥¼ ëŒì•„ë³´ìž. * = í¬ì¸í„°ì˜ ì˜ë¯¸ë¥¼ ëŒì•„ë³´ìž. * = 복합 타입과 바탕 íƒ€ìž…ì„ í˜•ì‹ìœ¼ë¡œì¨ 섞어 사용하지 ë§ìž. * = ë„ í¬ì¸í„°ë¥¼ í‘œí˜„í•˜ê³ ì‹¶ì„ ë•Œ ì„ íƒí• 수 있는 ê²ƒì€ ë”± 하나ë¿ì´ë‹¤. * = 참조ìžì™€ í¬ì¸í„°ë¥¼ 구분해서 사용하ìž. * #7. const와 constexpr * = 초기화와 constì˜ ê´€ê³„ë¥¼ 파악하ìž. * = const 변수를 여러 파ì¼ì—서 ê³µìœ í•˜ë ¤ í• ë•ŒëŠ” 주ì˜í•˜ìž. * = ìƒìœ„ const와 하위 const를 구분하ìž. * = ì 합하다면, constexprì„ í•ìƒ ê³ì— ë‘ìž. * #8. auto와 decltype * = autoì˜ ë™ìž‘ ì›ë¦¬ë¥¼ 파악하ìž. * = decltypeì˜ ë™ìž‘ ì›ë¦¬ë¥¼ 파악하ìž. * #9. 나머지 ì´ì•¼ê¸° * = 타입 별ì¹ì„ ì‚¬ìš©í• ë•ŒëŠ” ë³„ì¹ ì„ ì–¸ì„ ì‚¬ìš©í•˜ìž. * = ìƒí™©ì— ë”°ë¼ì„œëŠ” ë³€ìˆ˜ë„ ì¼ë°˜í™”해서 ì •ì˜í•´ë³´ìž. * = (지나가는) 코드를 ë¶„ì„í•´ë³´ìž. * = (지나가는) 키워드는 왜 ì‹ë³„ìžë¡œ ì‚¬ìš©ì´ ë¶ˆê°€ëŠ¥í• ê¹Œ? * = (지나가는) 내장 bool íƒ€ìž…ì€ ê¼ í•„ìš”í•œê±¸ê¹Œ? * = (지나가는) C ë¼ì´ë¸ŒëŸ¬ë¦¬ì™€ C++ ë²„ì „ ë¼ì´ë¸ŒëŸ¬ë¦¬ì˜ ì°¨ì´ëŠ” 무엇ì¼ê¹Œ? * Chapter 2. 문ìžì—´ê³¼ ë°°ì—´, 벡터 * #1. string * = ìœ ë‹ˆì½”ë“œì— ë§žëŠ” stringì„ ì‚¬ìš©í•˜ìž. * = string ìƒì„±ìž 종류와 string ì—°ì‚°ë“¤ì˜ ì¢…ë¥˜ë¥¼ 대략ì 으로 알아ë‘ìž. * = ë¬¸ìž ì œì–´ì— ë„ì›€ì´ ë˜ëŠ” í•¨ìˆ˜ë“¤ì„ ì•Œì•„ë‘ìž. * = stringì„ ìŠ¤íŠ¸ë¦¼ì„ í†µí•´ ì½ì–´ë“¤ì¼ 때, istream/getline ê°„ ì°¨ì´ë¥¼ 파악하ìž. * = size_t, size_type ë“±ì˜ typedef íƒ€ìž…ë“¤ì˜ ì˜ë¯¸ë¥¼ 파악하ìž. * = C-Style Stringì€ ê°€ê¸‰ì ì´ë©´ 사용하지 ë§ìž. * #2. ë°°ì—´ * = í¬ì¸í„° 타입과 ë°°ì—´ 타입 ê°„ í˜•ì‹ ì—°ì— ì°¨ì´ë¥¼ 파악하ìž. * = í¬ì¸í„°ë¥¼ ë°°ì—´ì— ëŒ€í•œ 반복ìžë¡œ ìƒê°í•˜ìž. * #3. 벡터 * = 벡터 ìƒì„±ìž 종류와 벡터 ì—°ì‚°ë“¤ì˜ ì¢…ë¥˜ë¥¼ 대략ì 으로 파악하ìž. * Chapter 3. 표현ì‹ê³¼ 문장, 함수 * #1. 변환과 ìºìŠ¤íŒ… * = (지나가는) ì‚°ìˆ íƒ€ìž… ê°„ 암시ì 변환과 ì •ìˆ˜ 승격 ê¸°ì¤€ì„ ì•Œì•„ë³´ìž. * = C++ 스타ì¼ì˜ ìºìŠ¤íŒ…ì„ ì‚¬ìš©í•˜ìž. * #2. 함수 * = ìžë™ ê°ì²´ì™€ ì§€ì— static ê°ì²´ë¥¼ ëŒì•„ë³´ìž. * = const와 함수 ë§¤ê°œë³€ìˆ˜ì˜ ê´€ê³„ì— ì¡°ì‹¬í•˜ìž. * = ë°°ì—´ 매개변수를 ì„ ì–¸í•˜ëŠ” 다양한 ë°©ë²•ì„ íŒŒì•…í•˜ìž. * = initializer_list를 사용해서 가변 매개변수를 í‰ë‚´ë‚´ë³´ìž. * = (지나가는) 함수ì—서 ë°°ì—´ íƒ€ìž…ì„ ë°˜í™˜í•´ë³´ìž. * = 후행 반환 íƒ€ìž…ì„ í†µí•´ 함수를 ì •ì˜í•´ë³´ìž. * = 반환 타입 ìœ ì¶”ê°€ í•„ìš”í• ë• auto를 사용하ìž. * = const_castê°€ 함수 ì†ì—서 ìœ ìš©í•˜ê²Œ ì“°ì´ëŠ” 경우를 알아ë‘ìž. * = ë§¤ê°œë³€ìˆ˜ì— ê¸°ë³¸ ê°’ì´ í•„ìš”í•˜ë‹¤ë©´ 기본 ì¸ìžë¥¼ ì„ ì–¸í•´ë³´ìž. * = inline ì§€ì •ì€ ë§ŒëŠ¥ì´ ì•„ë‹˜ì„ ì•Œì•„ë‘ìž. * = 함수 ì¼ì¹˜ ê³¼ì •ì„ íŒŒì•…í•˜ìž. * = 함수가 예외를 ë˜ì§€ì§€ 않는다면 noexcept로 ì„ ì–¸í•˜ìž. * = 예외 명세는 가급ì 사용하지 ë§ìž. * #3. ì´ëŸ°ì €ëŸ° ì´ì•¼ê¸° * = switch ë ˆì´ë¸”ì—서 초기화 우회를 조심하ìž. * = í”¼ì—°ì‚°ìž í‰ê°€ ìˆœì„œì— ì¡°ì‹¬í•˜ìž. * = sizeof ì—°ì‚°ìžë¥¼ ëŒì•„ë³´ìž. * = ë””ë²„ê¹…ì— ë„ì›€ì´ ë˜ëŠ” ë„êµ¬ë“¤ì„ ì•Œì•„ë‘ìž. * = 가급ì ì´ë©´ auto를 ì„ í˜¸í•˜ìž. * = auto í˜•ì‹ ì¶”ë¡ ì´ ì˜ˆìƒì¹˜ ì•Šì€ íƒ€ìž…ì¼ ê²½ìš° ìºìŠ¤íŒ…ì„ í™œìš©í•˜ìž. * = 매í¬ë¡œë³´ë‹¤ëŠ” ìƒìˆ˜ë‚˜ inlineì´ ë‚«ë‹¤. * = (지나가는) ìºìŠ¤íŒ… 퀴즈 * Chapter 4. í´ëž˜ìФ * #1. 멤버 함수 * = thisì˜ ì •ì²´ë¥¼ 파악하ìž. * = const 멤버 í•¨ìˆ˜ì˜ ë°°ê²½ê³¼ thisì˜ ê´€ê³„ë¥¼ 알아ë‘ìž. * = 멤버 함수 ì •ì˜ì™€ inlineê³¼ì˜ ê´€ê³„ë¥¼ 파악하ìž. * = í´ëž˜ìŠ¤ëŠ” 새로운 ìœ íš¨ 범위를 형성한다. * = í´ëž˜ìŠ¤ì— ëŒ€í•´ 컴파ì¼ëŸ¬ê°€ ì´ë¦„ ê²€ìƒ‰ì„ í•˜ëŠ” ê³¼ì •ì„ ì•Œì•„ë‘ìž. * = 멤버 í•¨ìˆ˜ì— ëŒ€í•´ 컴파ì¼ëŸ¬ê°€ ì´ë¦„ ê²€ìƒ‰ì„ í•˜ëŠ” ê³¼ì •ì„ ì•Œì•„ë‘ìž. * #2. ìƒì„±ìž * = ìƒì„±ìžì™€ const ê°ì²´ì˜ 관계를 파악하ìž. * = 명시ì 으로 합성 멤버를 ì›í•œë‹¤ë©´ default를 명시하ìž. * = 멤버 ë³€ìˆ˜ì˜ ì´ˆê¸°í™” ê°’ì´ ì„ íƒë˜ëŠ” 순서를 알아ë‘ìž. * = ìƒì„±ìž 초기화 리스트 ë‚´ì—서 ë©¤ë²„ì˜ ì´ˆê¸°í™” ìˆœì„œì— ì£¼ì˜í•˜ìž. * = 위임 ìƒì„±ìžë¥¼ 활용하ìž. * = ìƒì„±ìž ì„ ì–¸ 시ì—는 변환 ìƒì„±ìžì— í•ìƒ ì£¼ì˜í•´ì•¼ 한다. * #3. 다양한 í´ëž˜ìŠ¤ë“¤ * = ì§‘í•© í´ëž˜ìŠ¤ì— ëŒ€í•´ 알아보ìž. * = ìƒìˆ˜ í´ëž˜ìŠ¤ì— ëŒ€í•´ 알아보ìž. * #4. í´ëž˜ìŠ¤ì™€ ì •ì 멤버 * = ì •ì ë©¤ë²„ì˜ ì„ ì–¸ê³¼ ì •ì˜, 사용 ë°©ë²•ì„ ì•Œì•„ë‘ìž. * #5. í”„ë Œë“œ * = í´ëž˜ìФ ê°„ì˜ í”„ë Œë“œ 관계를 파악하ìž. * = í”„ë Œë“œ ì„ ì–¸ê³¼ í•¨ìˆ˜ì™€ì˜ ê´€ê³„ë¥¼ 파악하ìž. * = friend ì„ ì–¸ê³¼ ì¼ë°˜ì ì¸ ì„ ì–¸ì€ ì°¨ì´ê°€ 있ìŒì„ 알아ë‘ìž. * #5. ì´ëŸ°ì €ëŸ° ì´ì•¼ê¸° * = í´ëž˜ìФ ë©¤ë²„ì˜ mutable ì†ì„±ì— 대해서 알아ë‘ìž. * = const 멤버 함수가 ìƒìˆ˜ì„±ì„ 반드시 보장하지 않ìŒì„ 명심하ìž. * = í˜•ì‹ ì •ì˜ ì‹œ class와 struct í‚¤ì›Œë“œì˜ ì°¨ì´ë¥¼ 알아ë‘ìž. * = 기본 ìƒì„±ìžì˜ 존재 여부는 ê°€ë³ê²Œ ë³¼ ê²ƒì´ ì•„ë‹ˆë‹¤. * = 물리ì ì¸ const와 논리ì ì¸ const를 구별하ìž. * Chapter 5. I/O와 C++ * #1. ë¼ì´ë¸ŒëŸ¬ë¦¬ * = 표준 ë¼ì´ë¸ŒëŸ¬ë¦¬ I/O ê°ì²´ì˜ 종류와 구성 ë°©ì‹ì„ 알아보ìž. * = 표준 ë¼ì´ë¸ŒëŸ¬ë¦¬ I/O ê°ì²´ì˜ íŠ¹ì§•ì„ ì•Œì•„ë³´ìž. * #2. I/O와 ì¡°ê±´ ìƒíƒœì™€ ë²„í¼ ê´€ë¦¬ * = 스트림과 ì¡°ê±´ì‹ê³¼ì˜ 관계를 파악하ìž. * = ìŠ¤íŠ¸ë¦¼ì˜ ìƒíƒœë¥¼ ì 검해보ìž! * = ìŠ¤íŠ¸ë¦¼ì„ ì„œë¡œ 묶어서 버í¼ë¥¼ 관리해보ìž. * #3. íŒŒì¼ I/O * = íŒŒì¼ ìŠ¤íŠ¸ë¦¼ ê°ì²´ì˜ ì‚¬ìš©ë²•ì„ ë‹¤ì‹œ ëŒì•„ë³´ìž. * = íŒŒì¼ ìŠ¤íŠ¸ë¦¼ì„ ì—¬ëŠ” 여러가지 ë°©ì‹ì„ ì •ë¦¬í•´ë³´ìž. * #4. 문ìžì—´ I/O * = 문ìžì—´ 스트림 ê°ì²´ì˜ ì‚¬ìš©ë²•ì„ ë‹¤ì‹œ ëŒì•„ë³´ìž. * Chapter 6. 순차 컨테ì´ë„ˆ * #1. 순차 컨테ì´ë„ˆ 개관 * = 사용 가능한 순차 컨테ì´ë„ˆì˜ 종류를 알아보ìž. * = 컨테ì´ë„ˆì˜ 공통ì ì¸ ì—°ì‚°ì˜ ì¢…ë¥˜ì— ëŒ€í•´ 알아보ìž. * = ë°˜ë³µìž ë²”ìœ„ì— ëŒ€í•´ì„œ 알아보ìž. * #2. 순차 컨테ì´ë„ˆ ì—°ì‚° * = 순차 컨테ì´ë„ˆì— 대한 assignê³¼ swap ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * = 순차 컨테ì´ë„ˆì— 대한 요소 삽입/ì ‘ê·¼/ì‚ì œì— ëŒ€í•´ 알아보ìž. * = ë°˜ë³µìž ë¬´íš¨í™”ì— ëŒ€í•´ í•ìƒ ì¡°ì‹¬í•˜ìž. * = vector/stringì—ì„œì˜ capacity와 size를 구분하ìž. * #3. Advanced String * = string ê°ì²´ë¥¼ ìƒì„±í•˜ëŠ” ë” ë§Žì€ ë°©ë²•ì„ ì•Œì•„ë³´ìž. * = stringì˜ ë‚´ìš©ì„ ë” ë‹¤ì–‘í•˜ê²Œ 조작해보ìž. * = string 검색과 비êµì— 대해 알아보ìž. * = stringê³¼ 수치 ë³€í™˜ì— ëŒ€í•´ 알아보ìž. * #4. 컨테ì´ë„ˆ 어댑터 * = 컨테ì´ë„ˆ ì–´ëŒ‘í„°ì˜ ê³µí†µì ì¸ ì—°ì‚°ì˜ ì¢…ë¥˜ì— ëŒ€í•´ 알아보ìž. * = 스íƒ/í ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * Chapter 7. ì¼ë°˜í™” ì•Œê³ ë¦¬ì¦˜ * #1. ì¼ë°˜í™” ì•Œê³ ë¦¬ì¦˜ 개관 * = ì•Œê³ ë¦¬ì¦˜ê³¼ 반복ìž, ì•Œê³ ë¦¬ì¦˜ê³¼ 컨테ì´ë„ˆ 사ì´ì˜ 관계를 알아보ìž. * #2. ì¼ë°˜í™” ì•Œê³ ë¦¬ì¦˜ì˜ ë¶„ë¥˜ * = 요소 ì½ê¸° ì•Œê³ ë¦¬ì¦˜ì— ëŒ€í•´ 알아보ìž. * = 요소 ê¸°ë¡ ì•Œê³ ë¦¬ì¦˜ì— ëŒ€í•´ 알아보ìž. * = 요소 ì •ë ¬ ì•Œê³ ë¦¬ì¦˜ì— ëŒ€í•´ 알아보ìž. * = ìˆ˜ë§Žì€ ì•Œê³ ë¦¬ì¦˜ì„ ì´ë¦„ì— ë”°ë¼ ë¶„ë¥˜í•´ë³´ìž. * = ì•Œê³ ë¦¬ì¦˜ë“¤ì˜ ë§¤ê°œë³€ìˆ˜ íŒ¨í„´ì— ëŒ€í•´ 알아보ìž. * #3. 람다 í‘œí˜„ì‹ * = ì•Œê³ ë¦¬ì¦˜ê³¼ ìˆ ì–´ í•¨ìˆ˜ì™€ì˜ ê´€ê³„ë¥¼ 알아보ìž. * = 함수 호출성 ê°ì²´, 펑터(Functor)ì— ëŒ€í•´ 알아보ìž. * = 람다 표현ì‹ì˜ 형ì‹ì„ 살펴보ìž. * = ì¼ë°˜ì ëžŒë‹¤ì— ëŒ€í•´ 알아보ìž. * = 갈무리 목ë¡ì˜ 사용 형ì‹ë“¤ì— 대해 알아보ìž. * #4. 함수 ë°”ì¸ë”© * = 함수 어댑터 ì—í• ì„ í•˜ëŠ” bindì— ëŒ€í•´ 알아보ìž. * = 함수 ë°”ì¸ë”©ì— ì“°ì´ëŠ” Placeholderì— ëŒ€í•´ 알아보ìž. * = 함수 ë°”ì¸ë”©ì— ìœ ìš©í•œ functional í•¨ìˆ˜ë“¤ì„ ì•Œì•„ë‘ìž. * #5. ë°˜ë³µìž * = 특수한 반복ìžì˜ ì¢…ë¥˜ì— ëŒ€í•´ 알아보ìž. * = 삽입 반복ìž, inserter 반복ìžì— 대해 알아보ìž. * = 스트림 반복ìžì— 대해서 알아보ìž. * = ì—ë°©í–¥ 반복ìžì— 대해서 알아보ìž. * = ë°˜ë³µìž ë²”ì£¼ì™€ ì•Œê³ ë¦¬ì¦˜ê³¼ì˜ ê´€ê³„ë¥¼ 알아보ìž. * #6. 컨테ì´ë„ˆ 특수화 ì•Œê³ ë¦¬ì¦˜ * = ë¦¬ìŠ¤íŠ¸ì— íŠ¹í™”ë˜ì–´ 있는 ì•Œê³ ë¦¬ì¦˜ í•¨ìˆ˜ë“¤ì„ ì‚´íŽ´ë³´ìž. * #7. ì´ëŸ°ì €ëŸ° ì´ì•¼ê¸° * = 람다 ë‚´ì—서 암묵ì 으로 갈무리하는 ê²ƒì„ í”¼í•˜ìž. * = 함수 ë°”ì¸ë”©ë³´ë‹¤ëŠ” 람다를 ì„ í˜¸í•˜ìž. * Chapter 8. ì—°ê´€ 컨테ì´ë„ˆ * #1. ì—°ê´€ 컨테ì´ë„ˆ 개관 * = ì—°ê´€ 컨테ì´ë„ˆì˜ ì¢…ë¥˜ì— ëŒ€í•´ 알아보ìž. * = pair ê°ì²´ì— 대해 알아보ìž. * = ì—°ê´€ 컨테ì´ë„ˆì˜ 키 타입 ì¡°ê±´ì„ ì•Œì•„ë³´ìž. * #2. ì—°ê´€ 컨테ì´ë„ˆ ì—°ì‚° * = ì—°ê´€ 컨테ì´ë„ˆì— ì •ì˜ëœ 추가 타입 별ì¹ë“¤ì„ 알아보ìž. * = ì—°ê´€ 컨테ì´ë„ˆì™€ 반복ìžì˜ 관계를 알아보ìž. * = ì—°ê´€ 컨테ì´ë„ˆì™€ ì•Œê³ ë¦¬ì¦˜ê³¼ì˜ ê´€ê³„ë¥¼ 알아보ìž. * = ì—°ê´€ 컨테ì´ë„ˆì— 요소를 추가/ì‚ì œí•´ë³´ìž. * = ì—°ê´€ 컨테ì´ë„ˆ ìš”ì†Œì— ì ‘ê·¼í•´ë³´ìž. * #3. 순서 없는 컨테ì´ë„ˆ * = 순서 없는 컨테ì´ë„ˆê°€ 요소를 ì €ìž¥í•˜ëŠ” ë°©ë²•ì— ëŒ€í•´ 알아보ìž. * = ë²„í‚·ì„ ê´€ë¦¬í•˜ê³ ì¡°íšŒí•˜ëŠ” í•¨ìˆ˜ë“¤ì— ëŒ€í•´ 알아보ìž. * Chapter 9. 효율ì ì´ê³ ì•ˆì „í•œ STL * #1. ë” íë„“ì€ ì´í•´ë¥¼ 위해 * = STL ë™ìž‘ì˜ ëŒ€ë¶€ë¶„ì€ ê²°êµ ë³µì‚¬ìž„ì„ íŒŒì•…í•˜ìž. * = stringì´ ë¼ì´ë¸ŒëŸ¬ë¦¬ë§ˆë‹¤ ì „ë¶€ ë˜‘ê°™ì€ stringì€ ì•„ë‹˜ì„ ì´í•´í•˜ìž. * = boolì— ëŒ€í•œ vector는 STL 요소가 ì•„ë‹˜ì„ íŒŒì•…í•˜ìž. * = 컨테ì´ë„ˆ ì¼ë°˜í™” 코드가 아닌, 캡ìŠí™”를 ì´ìš©í•˜ìž. * = C와 vector/stringì˜ í˜¸í™˜ì„±ì— ëŒ€í•´ 알아보ìž. * = STL 컨테ì´ë„ˆì™€ Thread-Safetyì˜ ê´€ê³„ë¥¼ 파악하ìž. (x) * = ìƒë“±ì„±ê³¼ ë™ë“±ì„±ì„ 구분해서 ìƒê°í•˜ìž. (x) * = STL ì† allocator í• ë‹¹ìžì˜ 기ì›ê³¼ ì‚¬ìš©ë²•ì„ ì•Œì•„ë³´ìž. (x) * #2. ë” ë¹ ë¥¸ 코드를 위해 * = empty 멤버 함수는 괜히 있는 ê²ƒì´ ì•„ë‹ˆë‹¤. * = 요소보다는 ë²”ìœ„ì— ì´ˆì ì„ ë§žì¶”ìž. (x) * = reserve로 ìž¦ì€ ë©”ëª¨ë¦¬ í• ë‹¹ì„ í”¼í•˜ìž. (x) * #3. ë” ì•ˆì „í•œ 코드를 위해 * = ë™ì 배열보다는 컨테ì´ë„ˆë¥¼ 사용하ìž. (x) * = 컨테ì´ë„ˆ 요소 ì‚ì œ 시ì—는 í•ìƒ ê²½ê³„í• í•„ìš”ê°€ 있다. (x) * #4. ë” ë‚˜ì€ ìµœì 화를 위해 * = ì 합한 ë•Œì— ì 합한 컨테ì´ë„ˆë¥¼ 사용하ìž. (x) * = shrink_to_fit 멤버 í•¨ìˆ˜ì— ê±¸ë§žëŠ” ë°©ë²•ì„ ì•Œì•„ë³´ìž. (x) * = ì•Œê³ ë¦¬ì¦˜ 함수로 í•´ê²° 가능한 ë¬¸ì œì— ëŒ€í•´ 루프로 풀어서 작성하지 ë§ìž. (x) * Chapter 10. ë™ì 메모리 관리 * #1. 스마트 í¬ì¸í„° * = 스마트 í¬ì¸í„°ì™€ ê·¸ ì¢…ë¥˜ì— ëŒ€í•´ 알아보ìž. * = shared_ptr, unique_ptrì˜ ê³µí†µì ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * = shared_ptrì˜ ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * = unique_ptrì˜ ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * = weak_ptrì˜ ì—°ì‚°ì— ëŒ€í•´ 알아보ìž. * #2. ì§ì ‘ì ì¸ ê°ì²´ í• ë‹¹ê³¼ í•´ì œ * = new를 통해서 ìžìœ ê³µê°„ì— ê°ì²´ë¥¼ ë™ì 으로 í• ë‹¹í•´ë³´ìž. * = delete를 통해서 ë™ì 으로 í• ë‹¹í•œ ê°ì²´ë¥¼ í•´ì œí•´ë³´ìž. * = 스마트 í¬ì¸í„° ì´ˆê¸°í™”ì— new를 ì‚¬ìš©í• ìˆ˜ 있는 ë°©ë²•ì„ ì•Œì•„ë³´ìž. * = 스마트 í¬ì¸í„°ì™€ ì¼ë°˜ì ì¸ í¬ì¸í„°ì˜ 논리를 섞어쓰지 ë§ìž. * #3. ë°°ì—´ì˜ ë™ì í• ë‹¹ê³¼ í•´ì œ * = new를 통해서 ë°°ì—´ì„ ë™ì 으로 í• ë‹¹í•´ë³´ìž. * = delete를 통해서 ë°°ì—´ì„ í• ë‹¹ í•´ì œí•´ë³´ìž. * = 스마트 í¬ì¸í„°ë¡œ ë°°ì—´ì„ ë™ì 으로 관리해보ìž. * #4. ì €ìˆ˜ì¤€ 메모리 관리 * = 메모리 í• ë‹¹ì„ ìœ„í•œ allocator í´ëž˜ìŠ¤ì— ëŒ€í•´ 알아보ìž. * = 미초기화 ë©”ëª¨ë¦¬ì— ëŒ€í•œ ê°ì²´ ìƒì„±ì„ ë„와주는 ì•Œê³ ë¦¬ì¦˜ì„ ì•Œì•„ë³´ìž. * #5. ì´ëŸ°ì €ëŸ° ì´ì•¼ê¸° * = ìœ ìš©í•œ, 때로는 필수ì ì¸ RAII ê¸°ë²•ì— ëŒ€í•´ 알아보ìž. * Chapter 11. 복사와 ì´ë™ * Chapter 12. ì—°ì‚°ìž ì˜¤ë²„ë¡œë”© * Chapter 13. ê°ì²´ 지향 프로그래ë°ê³¼ C++ * Chapter 14. 템플릿 * Chapter 15. 예외 처리와 예외 ì•ˆì „ì„± * ê³„ì† ìž‘ì„± ì˜ˆì •ìž…ë‹ˆë‹¤. == ë§ê¸€ == * ì– - [성훈] * ì–! ì–! ì–! - [ë°•ì¸ì„œ] -----------