이 책의 저자이자 전설적인 C++ 베테랑 Herb Sutter는 다양한 질문들에 대한 답을 '무엇' 뿐만 아니라 '왜'까지도 분석함으로써 독자가 소프트웨어에서 정확한 균형점을 찾는 데 도움이 되도록 고안된 40개의 새로운 프로그래밍 시나리오들을 제시하고 있다. 실질적인 질문들과 해답들로 구성된 이 책은 필수적인 C++ 세부 사항과 그 상호관계에 대한 새로운 통찰을 제공하며, 일반적 프로그래밍, STL, 예외 안전성 등 오늘날의 C++ 프로그래밍 핵심 기법들에 대한 새로운 전략을 보여준다. C++ 소프트웨어를 좀 더 견고하고 효율적으로 만드는 데 필요한 지혜와 지식을 얻을 것이다.
● 주요내용
- 라이브러리 설계에 대해, STL 자체에서 배울 수 있는 것들은 무엇일까?
- 템플릿 형태의 코드의 일반성을 불필요하게 제한하는 일이 없도록 하려면 어떻게 해야 할까?
- 함수 템플릿을 특수화할 수 없는 이유는 무엇일까? 그 대신 할 수 있는 일은 무엇일까?
- 예외 안전성이 단순히 try와 catch 문을 잘 작성하는 문제일까?
- 예외 명세를 사용해야 할까 말아야 할까?
- 클래스의 private 부분을 언제, 어떻게 노출할 수 있을까?
- 클래스들을 변화에 좀 더 잘 대응하게 만들려면 어떻게 해야 할까?
- 표준 컨테이너들의 실질적인 메모리 비용은 어떠한가?
- const를 사용하면 코드가 정말로 최적화될까?
- inline이 성능에 어떻게 영향을 미칠까?
- 잘못되어 보이는 코드가 실제로는 완벽하게 컴파일되고 실행되는 때는 언제이며, 그런 경우를 신경써야 하는 이유는 무엇일까?
- std::string의 설계가 가진 문제점은 무엇일까?