서브메뉴

본문

MORE EFFECTIVE C++
MORE EFFECTIVE C++
저자 : 스캇 마이어스
출판사 : 정보문화사
출판년 : 2007
정가 : 20000, ISBN : 9788956743998

책소개


C++ 프로그래밍과 설계 기술을 향상시켜 주는 35 가지의 새로운 테크닉을 소개한 책. 저자는 다년간의 경험에서 뽑아낸 통찰력을 유감 없이 발휘하여 더 효과적인(more effective) 소프트웨어를 개발하는 방법을 설명하고 있다. 프로그램 효율(efficiency)을 높이는 입증된 테크닉, 그리고 C++의 주요 기능을 썼을 때에 달라지는 시간적/공간적 비용 및 메모리지정 new(placement new), 가상 생성자, 스마트 포인터, 참조 카운팅, 프록시 클래스, 이중 디스패치(double-dispatching) 등 전문가급 C++ 테크닉에 대해 깊이 있게 다루고 있다. 또한 구조체 그리고 C++ 클래스와 함수에 대해 예외처리를 적용할 때의 수행 결과를 자세히 보여주는 충실한 예제를 담았다.

목차


용어 대역표

Chpater 1 기본 개념들
항목 1 :포인터(pointer)와 참조자(reference)를 구분하자
항목 2 : 가능한 C++ 스타일의 캐스트를 즐겨 쓰자
항목 3 : 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다
항목 4 : 쓸데 없는 기본 생성자는 그냥 두지 말자

Chpater 2 연산자(Operators)
항목 5 : 사용자 정의 타입변환 함수에 대한 주의를 놓지 말자
항목 6 : 증가 및 감소 연산자의 전위(prefix)/후위(postfix) 형태를 반드시 구분하자
항목 7 : &&, ||, 혹은 . 연산자는 오버로딩 대상이 절대로 아니다
항목 8 : new와 delete의 의미를 정확히 구분하고 이해하자

Chpater 3 예외(Exceptions)
항목 9 : 리소스 누수를 피하는 방법의 정공(正攻)은 소멸자이다
항목 10 : 생성자에서는 리소스 누수가 일어나지 않게 하자
항목 11 : 소멸자에서는 예외가 탈출하지 못하게 하자
항목 12 : 예외 발생이 매개변수 전달 혹은 가상 함수 호출과 어떻게 다른지를 이해하자
항목 13 : 발생한 예외는 참조자로 받아내자
항목 14 : 예외 지정(exception specification) 기능은 냉철하게 사용하자
항목 15 : 예외 처리에 드는 비용에 대해 정확히 파악하자

Chpater 4 효율(Efficiency)
항목 16 : 뼛속까지 잊지 말자, 80-20 법칙!
항목 17 : 효율 향상에 있어 지연 평가(lazy evaluation)는 충분히 고려해 볼 만하다
항목 18 : 예상되는 계산 결과를 미리 준비하면 처리비용을 깎을 수 있다
항목 19 : 임시 객체의 원류(原流)를 정확히 이해하자
항목 20 : 반환값 최적화(return value optimization)가 가능하게 하자
항목 21 : 오버로딩은 불필요한 암시적 타입변환을 막는 한 방법이다
항목 22 : 단독 연산자(op) 대신에 =이 붙은 연산자(op=)를 사용하는 것이 좋을 때가 있다
항목 23 : 정 안 되면 다른 라이브러리를 사용하자!
항목 24 : 가상 함수, 다중 상속, 가상 기본 클래스, RTTI에 들어가는 비용을 제대로 파악하자

Chpater 5 유용하고 재미있는 프로그래밍 기법들(Techniques)
항목 25 : 생성자 함수와 비(非)멤버 함수를 가상 함수처럼 만드는 방법
항목 26 : 클래스 인스턴스의 개수를 의도대로 제한하는 방법
항목 27 : 힙(heap)에만 생성되거나 힙에는 만들어지지 않는 특수한 클래스를 만드는 방법
항목 28 : 스마트 포인터(Smart Pointer)
항목 29 : 참조 카운팅(Reference Counting)
항목 30 : 프록시(Proxy) 클래스
항목 31 : 함수를 두 개 이상의 객체(타입)에 대해 가상 함수처럼 동작하도록 만들기

Chpater 6 이외의 이야기들(Miscellany)
항목 32 : 미래 지향적인 프로그래머가 되자
항목 33 : 상속 관계의 말단에 있지 않은 (non-leaf) 클래스는 반드시 추상 클래스로 만들자
항목 34 : 한 프로그램에서 C++와 C를 함께 사용하는 방법을 이해하자
항목 35 : C++ 언어의 최신 표준안과 표준 라이브러리에 대해 익숙해지자

추천하는 읽을거리
auto_ptr 클래스 템플릿의 구현
찾아보기