이펙티브 C++ 3판.
재미있음.
지하철에서 대충 읽으면서 나중에 시간 나면 자세히 보자고 표시해둔 부분.
예외처리 (예외에 안전하게 구현하는법)
항목 25 : 예외를 던지지 않는 swap에 대한 지원도 생각해 보자
항목 29 : 예외 안전성이 확보되는 그날 위해 싸우고 또 싸우자
그리고 Eceptional C++ 에서 예외부분을 보면 비슷한 내용이 있음 그것도 참고. 이건 문서화할 필요성이 느껴진다.
상속시 생기는 심볼(이름)문제
항목 33 : 상속된 이름을 숨기는 일은 피하자
상속시 동일한 이름을 같는 함수를 구현했을때 기본클래스의 함수가 가려져서 접근하지 못하게 되는 문제. 이것은 operator new 등과도 연관이 있으므로 메모리관련 재구현시 참고하자.
private 상속을 관련.
항목 39 : private 상속은 심사숙고해서 구사하자.
우선 private 상속은 is-implemented-in-term-of 관계라는 걸 기억해두고. 관심있는 부분은 EBO(공백 기본 클래스 최적화)
템플릿메타프로그래밍
항목 47 : 타입에 대한 정보가 필요하다면 특성정보 클래스를 사용하자.
특성정보를 입력하고(typedef로) 특성정보 클래스를 사용하여 구현하는 오버로딩 기법.
항목 48 : 템플릿 메타프로그래밍, 하지 않겠는가?
말 그래도 TMP 에 대한 소개.
메모리처리 관련
항목 49 : new 처리자의 동작 원리를 제대로 파악하자.
항목 50 : new 및 delete를 언제 바꿔야 좋은 소리를 들을지 파악해 두자
항목 51 : new 및 delete를 작성할 때 따라야 할 기존의 관례를 잘 알아 두자.
항목 52 : 위치지정 new를 작성한다면 위치지정 delete도 같이 준비하자.
메모리관련해서 new등을 재구현 할 경우 참고하자.
사실 클라이언트 코드가 아니라 라이브러리쪽 에서나 위의 new 에 대한 구현 사항을 알아두면 되겠지만… 클라이언트 코드라면 저런 사항 다 지키고 하면서 복잡하게 하는것 보단 그냥 간단하게 자기코드에서만 잘돌아가는걸 만드는것도 방법.
TR1 이나 Boost 의 사용법을 파악하기
아놔 왜이리 추가되는게 많아.
천천히 하자 -_-;