1. 개요

  • Mastering Further C++
    • Mxxxxx Fxxxxxx C++...

2. 진행

  • 진행 방식은 과거 미시Cpp를 벤치마킹(?)해서 진행합니다.
    • 즉, 주마다 특정 주제 내용을 소개하는 방식으로 진행됩니다.
  • 진행 스타일은 과거 CS 스터디와 동일합니다.
    • 복사와 이동부터는 완전히 PPT 진행으로 변경되었습니다.

  • 2016년 2학기 시작 직후부터 시작합니다.
  • 되도록이면 수요일 정모 직후, 7시에서 9시까지 진행합니다.
    • 주마다 진행 요일이 불가피하게 바뀌어야 할 수도 있습니다.

  • 진행에 사용된 소스 코드 및 PPT 자료는 해당 레포지토리에 있습니다.
  • 종료되었습니다!

3. 참가자

4. 목표

  • C++ 돌아보기 돌아보는 척 하면서 더 낯설게 만들기
  • C++11과 C++14의 내용 숙지
  • 흔한 C++ 프로그래밍 실수 방지하기
  • C++에서의 동시성 활용하기

5. 참고

  • C++ Primer 5th Edition(http://www.kyobobook.co.kr/product/detailViewKor.lafejkGb=KOR&mallGb=KOR&barcode=9788945072207&orderClick=LAG&Kc=)
    • 기본 바탕은 이 책을 기준으로 합니다.
  • Effective C++(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791195444946&orderClick=LAH&Kc=)
  • More Effective C++(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956743998&orderClick=LAH&Kc=)
  • Effective Modern C++(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966261642&orderClick=LAH&Kc=)
  • Effective STL(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956743110&orderClick=LAH&Kc=)
  • C++ Concurrency In Action(http://www.kyobobook.co.kr/product/detailViewEng.laf?ejkGb=BNT&mallGb=ENG&barcode=9781933988771&orderClick=LAG&Kc=)
  • Exceptional C++(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788980545063&orderClick=LAG&Kc=)
  • More Exceptional C++(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788955507904&orderClick=LAG&Kc=)
  • Exceptional C++ Style(http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788956742618&orderClick=LAG&Kc=)
  • 그 외 위키피디아와 C++ 레퍼런스 사이트 등

6. 진행 내용

  • MFC++/9월7일
  • MFC++/10월5일
  • MFC++/11월2일
  • MFC++/11월9일
  • MFC++/11월30일
  • MFC++/1월4일
  • MFC++/1월11일
  • MFC++/1월18일
  • MFC++/2월1일
  • MFC++/2월15일
  • MFC++/2월22일
  • MFC++/3월7일
    • Chapter 11. 복사와 이동에서 복사까지 완료!
  • MFC++/3월22일
    • Chapter 11. 복사와 이동 완료!
  • MFC++/3월29일
    • Chapter 12. 연산자 오버로딩 완료!
  • MFC++/5월9일
    • Chapter 13. 객체 지향 프로그래밍과 C++ 진행중.
  • MFC++/5월24일
    • Chapter 13. 객체 지향 프로그래밍과 C++ 완료!
    • Chapter 14. 템플릿 진행중.
  • MFC++/5월31일
    • Chapter 14. 템플릿 완료!
    • 스레드, 스레드 라이브러리의 역사, 컴퓨터 환경의 변화
  • MFC++/7월12일
    • thread
  • MFC++/7월21일
    • 경합 조건, 경합 조건 방지와 인터페이스 설계, mutex, mutex를 제외한 경합 방지 수단
  • MFC++/7월26일
    • reader-writer mutex(shared_lock), 다중 락에서의 교착 방지하기, recursive_mutex
  • MFC++/8월11일
    • 이전 진행 내용 회고
    • condition_variable
  • MFC++/8월17일
    • 이전 진행 내용 회고
    • future/async/packaged_task/promise
  • MFC++/8월30일
    • 이전 진행 내용 회고
    • shared_future/system_clock/steady_clock/high_resolution_clock/duration/ratio/time_point
    • 타임 아웃 대기를 위한 접미사 for/until
  • MFC++/17/9월28일
    • 메모리 모델, 객체와 메모리 위치, 원자적 연산
    • modification order
    • typedef atomics
    • 복합 대입 연산자/fetch
  • MFC++/17/10월25일
    • atomic_flag, atomic<bool>
    • exchange
    • compare_exchange_weak/compare_exchange_strong
    • 원자적 연산의 종류와 선택적 메모리 순서 적용
  • MFC++/17/11월3일
    • 이전 진행 내용 회고
    • atomic<T*>, atomic<Integral>, atomic<T>
    • atomic free functions
    • inter-thread happens-before/synchronize-with relationships
    • memory_order
    • sequential consistency
  • MFC++/17/11월8일
    • 이전 진행 내용 회고
    • operation visibility
    • non-seq_cst world
    • relaxed order
  • MFC++/17/11월17일
    • 이전 진행 내용 회고
    • acquire/release order semantics
    • mixing memory order with transition
    • carries-dependencies-to
    • dependency-ordered-before
    • release/consume order
  • MFC++/17/11월24일
    • kill_dependency
    • release sequence
    • atomic fence
    • tuple
  • MFC++/17/12월27일
    • bitset
    • random generator/distribution
    • I/O manipulator
    • Concurrency Quiz!
  • MFC++/18/1월5일
    • regex
    • non-format I/O operation
  • MFC++/18/1월10일
    • operator new/delete
    • enum/union
    • pointer-to-member/pointer-to-mem_fun

  • 종료!

7. 진행 예정 내용

7.1. A. C++의 기능과 라이브러리

  • Chapter 1 - Chapter 10의 목차는 MFC++/이전목차를 참조해주세요.

  • Chapter 1. 변수와 타입
  • Chapter 2. 문자열과 배열, 벡터
  • Chapter 3. 표현식과 문장, 함수
  • Chapter 4. 클래스
  • Chapter 5. I/O와 C++
  • Chapter 6. 순차 컨테이너
  • Chapter 7. 일반화 알고리즘
  • Chapter 8. 연관 컨테이너
  • Chapter 9. 효율적이고 안전한 STL
  • Chapter 10. 동적 메모리 관리

  • Chapter 11. 복사와 이동
    • 이 챕터부터 스터디 진행이 완전히 PPT 진행으로 변경되었고, 따로 만들어진 목차는 없습니다.
  • Chapter 12. 연산자 오버로딩
  • Chapter 13. 객체 지향 프로그래밍과 C++
  • Chapter 14. 템플릿

7.2. B. C++에서의 동시성 활용

  • Chapter 1. Hello, Concurrency!
  • Chapter 2. 스레드 관리
  • Chapter 3. 스레드 간 데이터 공유
  • Chapter 4. 동시성 연산 간의 동기화
  • Chapter 5. C++ 메모리 모델과 원자적 연산

8. 덧글


Retrieved from http://wiki.zeropage.org/wiki.php/MFC++
last modified 2021-02-07 05:23:41