Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 똑똑한 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 20: std::shared_ptr처럼 작동하되 대상을 잃을 수도 있는 포인터가 필요하면 std::weak_ptr를 사용하라 기억해 둘 사항들 - std::shared_ptr처럼 작동하되 대상을 잃을 수도 있는 포인터가 필요하면 std::weak_ptr를 사용하라. - std::weak_ptr의 잠재적인 용도로는 캐싱, 관찰자 목록, 그리고 std::shared_ptr 순환 고리 방지가 있다. Item 21: new를 직접 사용하는 것보다 std::mak..
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 똑똑한 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 18: 소유권 독점 자원의 관리에는 std::unique_ptr를 사용하라 기억해 둘 사항들 - std::unique_ptr는 독점 소유권 의미론을 가진 자원의 관리를 위한, 작고 빠른 이동 전용 똑똑한 포인터이다. - 기본적으로 자원 파괴는 delete를 통해 일어나나, 커스텀 삭제자를 지정할 수 도 있다. 상태 있는 삭제자나 함수 포인터를 사용하면 std::unique_ptr 객체의 크기가 커진다. - std::unique_ptr를 std::share..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 7. 템플릿과 일반화 프로그래밍 (2) 항목 44 : 매개변수에 독립적인 코드는 템플릿으로부터 분리시키자 템플릿을 사용하면 비슷비슷한 클래스와 함수가 여러 벌 만들어집니다. 따라서 템플릿 매개변수에 종속되지 않은 템플릿 코드는 비대화의 원인이 됩니다. 비타입 템플릿 매개변수로 생기는 코드 비대화의 경우, 템플릿 매개변수를 함수 매개변수 혹은 클래스 데이터 멤버로 대체함으로써 비대화를 종종 없앨 수 있습니다. 타입 매개변수로 생기는 코드 비대화의 경우, 동일한 이진 표현구조를 가지고 인스턴스화되는 타입들이 한 가지 함수 구현을 공유하게 만듬으로써 비대화를 감소시킬 수 있습니다. 항목 45 : "호환되는 모든 타입"을 받아들이는 데는 멤버..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 7. 템플릿과 일반화 프로그래밍 (1) 항목 41 : 템플릿 프로그래밍의 천릿길도 암시적 인터페이스와 컴파일 타임 다형성부터 명시적 인터페이스와 런타임 다형성의 예 class Widget { public: Widget(); virtual ~Widget(); virtual std::size_t size() const; virtual void normalize(); void swap(Widget& other); }; // w는 명시적 인터페이스 void doProcessing(Widget& w) { if(w.size() > 10 && w != someNastyWidget) { Widget temp(w); // 가상 함수의 호출은 런타임 다..
- #EffectiveModernCpp
- #레거시코드
- #마이클페더스
- #ndc
- #build2016
- Effective Modern C++
- #mva
- #코드최적화
- 책
- #scottmeyers
- #로버트마틴
- #cpp
- 상속
- Effective C++
- 객체 지향 설계
- #csharp
- #클린코드
- #제럴드와인버그
- #techdays2015
- #uwp
- #임백준
- #알고리즘
- #스콧마이어스
- #자녀교육
- #ModernCPP
- #팀개발
- #cplusplus
- #세미나
- Scott Meyers
- #프로그래밍심리학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |