Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 5. 구현 항목 26 : 변수 정의는 늦출 수 있는 데까지 늦추는 근성을 발휘하자 변수 정의는 늦출 수 있을 때까지 늦춥시다. 프로그램이 더 깔끔해지며 효율도 좋아집니다. 항목 27 : 캐스팅은 절약, 또 절약! 잊지 말자 다른 방법이 가능하다면 캐스팅은 피하십시오. 특히 수행 성능에 민감한 코드에서 dynamic_cast는 몇 번이고 다시 생각하십시오. 설계 중에 캐스팅이 필요해졌다면, 캐스팅을 쓰지 않는 다른 방법을 시도해 보십시오. 캐스팅이 어쩔 수 없이 필요하다면, 함수 안에 숨길 수 있도록 해 보십시오. 이렇게 하면 최소한 사용자는 자신의 코드에 캐스팅을 넣지 않고 이 함수를 호출할 수 있게 됩니다. 구형 스타일의 캐스트를 쓰..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 4. 설계 및 선언 항목 18 : 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자 좋은 인터페이스는 제대로 쓰기에 쉬우며 엉터리로 쓰기에 어렵습니다. 인터페이스를 만들때는 이 특성을 지닐 수 있도록 고민하고 또 고민합시다. 인터페이스의 올바른 사용을 이끄는 방법으로는 인터페이스 사이의 일관성 잡아주기, 그리고 기본제공 타입과의 동작 호환성 유지하기가 있습니다. 사용자의 실수를 방지하는 방법으로는 새로운 타입 만들기, 타입에 대한 연산을 제한하기, 객체의 값에 대해 제약 걸기, 자원 관리 작업을 사용자 책임으로 놓지 않기가 있습니다. tr1::shared_ptr은 사용자 정의 삭제자를 지원합니다. 이 특징 때문에 tr..
Effective C++ 이펙티브 C++ 스콧 마이어스 저/곽용재 역 3. 자원 관리 항목 13 : 자원 관리에는 객체가 그만! 자원 누출을 막기 위해, 생성자 안에서 자원을 획득하고 소멸자에서 그것을 해제하는 RAII 객체를 사용합시다. 일반적으로 널리 쓰이는 RAII 클래스는 tr1::shared_ptr 그리고 auto_ptr입니다. 이 둘 가운데 tr1::shared_ptr이 복사 시의 동작이 직관적인기 때문에 대개 더 좋습니다. 반면, auto_ptr은 복사되는 객체(원본 객체)를 null로 만들어 버립니다. 참고 : [TR1] shared_ptr 항목 14 : 자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자 RAII 객체의 복사는 그 객체가 관리하는 자원의 복사 문제를 안고 가기 때문에,..
- #mva
- #팀개발
- #마이클페더스
- 책
- #ModernCPP
- #클린코드
- #프로그래밍심리학
- #스콧마이어스
- #ndc
- Effective Modern C++
- #제럴드와인버그
- #세미나
- #레거시코드
- #cplusplus
- #csharp
- #알고리즘
- #EffectiveModernCpp
- #scottmeyers
- Effective C++
- #코드최적화
- #techdays2015
- #로버트마틴
- #자녀교육
- 객체 지향 설계
- 상속
- #build2016
- #임백준
- #uwp
- Scott Meyers
- #cpp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |