Top

[똑똑한 프로그래밍을 위한]
C++ 템플릿 가이드

  • 원서명C++ Templates: The Complete Guide (ISBN 9780201734843)
  • 지은이데이비드 반데보드, 니콜라이 조슈티스
  • 옮긴이한정애
  • ISBN : 9788960770676
  • 38,000원
  • 2008년 12월 16일 펴냄 (절판)
  • 페이퍼백 | 552쪽 | 188*250mm
  • 시리즈 : 프로그래밍 언어

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

C++ 템플릿의 모든 것!
기초부터 고급, 이론부터 실전까지 차근차근 알기 쉽게 설명한 완벽 가이드


템플릿은 C++의 가장 강력한 기능 중 하나지만 너무나 등한시되고 잘못 알려져 있으며 잘못 사용되고 있다. 『똑똑한 프로그래밍을 위한 C++ 템플릿 가이드』는 템플릿을 왜 사용해야 하며, 언제 사용하고, 어떻게 사용해야 하는지 명확히 알려주므로 소프트웨어 설계자와 엔지니어는 좀 더 깔끔하고 빠르며 멋진 소프트웨어를 효율적으로 만들 수 있다.

이 책은 기본 개념과 언어 특성에 대한 직관적인 예제에서 시작한다. 그리고 언어의 상세 부분에 우선 초점을 맞춰 설명한 후 다양한 코딩 기술을 다루며, 마지막으로는 템플릿의 고급 응용방식을 알아봄으로써 광범위한 참고자료로도 사용할 수 있게 했다. 책 전반에서 사용된 예제들은 추상적인 개념을 쉽게 설명할 뿐만 아니라 최적의 응용 사례이기도 하다.


[ 소개 ]

이 책에서 가장 좋았던 점은 템플릿의 양면, 즉 템플릿의 구조와 사용법을 모두 보여준다는 점이었다. 디자인과 사용법을 모두 보여주는 책은 드물다. 예제들은 최상급일 뿐만 아니라 매우 간결하고 정말 잘 설명돼 있다.
패트릭 맥킬런 / Vision 정보 컨설팅

독자들이 결코 알고 싶어하지 않지만 꼭 알아야만 하는 템플릿. 이 책은 C++ 템플릿을 효과적으로 사용하는 데 필요한 모든 내용을 다룬다.
디트마르 퀼 / Phaidros eaSE

템플릿이 C++에 포함된 지 벌써 십년이 지났지만(그리고 다양한 형태로 사용될 수 있지만) 템플릿은 여전히 잘못 이해되고, 오용되거나 논쟁거리가 되고 있다. 한편 템플릿은 더 깔끔하고 빠르며 똑똑한 소프트웨어를 만들기 위한 강력한 도구로 사용된다. 템플릿은 새로운 C++ 프로그래밍 패러다임의 주춧돌이 될 것이다.

그러나 여전히 많은 책과 글이 C++ 템플릿의 이론과 애플리케이션을 피상적으로만 설명하고 있다. 일부 책에서 다양한 템플릿 기반 기술을 설명하고는 있지만 이러한 기술들이 C++ 언어에 의해 지원받는 부분에 대해 정확히 설명하진 않는다. 결국, 초보자는 물론이거니와 고급 C++ 프로그래머조차도 자신들이 만든 코드가 왜 예상과 다르게 동작하는지 알아내려면 템플릿과 씨름해야 한다.

현실에서 벌어지는 이러한 난제를 해결하기 위해 저자들은 이 책을 쓰기로 결심했다. 하지만 두 저자는 문제를 각자 다른 접근 방식을 통해 독립적으로 해결하려 했다.

데이비드는 C++ 템플릿 언어 메커니즘에 대한 상세 내용과 템플릿을 사용했을 때 쓸 수 있는 주요 고급 프로그래밍 테크닉에 대한 완벽한 참고 자료를 제공하는 데 최선을 다했다. 그는 정확하고 완벽하길 바랐다. 니코는 프로그래머로서 일상적으로 템플릿을 쉽게 사용할 수 있는 책을 만드는 데 관심이 있었다. 다시 말해서 템플릿의 실용적인 측면을 다루면서도 직관적으로 이해할 수 있는 책을 쓰고 싶어 했다.

어떻게 보면 과학자와 공학자 간의 격차처럼 보이는 이 두 가지 방식을 이 책에서는 모두 활용하기로 결정했다. 그러나 어느 정도 겹치기는 하겠지만 저자마다 강조한 부분은 차이가 있을 것이다.

애디슨웨슬리 출판사가 두 저자들을 맺어줌으로써 결국 상세한 참고자료가 들어있는 C++ 템플릿 입문서라 할 만한 이 책이 탄생하게 됐다. 『똑똑한 프로그래밍을 위한 C++ 템플릿 가이드』는 템플릿 입문서이며, 필요한 언어 요소에 대한 소개뿐 아니라 실용적인 해법을 위한 설계 기법도 함께 설명한다. 또한 C++ 템플릿 문법과 의미 구조를 넘어 잘 알려지거나 덜 알려진 템플릿 사용 방식과 기술에 대한 요약서이기도 하다.


[ 이 책에서 다루는 내용 ]

■ 템플릿의 정확한 동작
■ 템플릿과 관련된 함정을 피하는 방법
■ 기본적인 관용구에서부터 이전에 문서화된 적 없는 기술 전반
■ 성능이나 안전성을 침해하지 않으면서도 소스코드를 재사용하는 방법
■ C++ 프로그램의 효율성을 증가시키는 방법
■ 좀 더 유연하고 유지보수가 쉬운 소프트웨어를 만드는 방법


[ 이 책의 구성 ]

템플릿의 개념을 익히거나 다시 살펴보고 싶은 C++ 프로그래머라면 1부 “템플릿 기본”을 주의 깊게 읽자. 아직 템플릿을 잘 모른다면 1부를 먼저 읽고 앞으로 사용할 용어와 방식에 익숙해지는 편이 좋다. 1부는 템플릿을 포함하는 소스코드를 만들 경우 필요한 내용도 살펴본다.

각자의 학습 방식에 따라 2부 “템플릿 상세 설명”에서 다루는 템플릿의 자세한 내용까지 다 익히고 싶을 수도 있고, 3부 “템플릿과 설계”에 나오는 실용적인 코딩 기술에 더 신경을 쓸 수도 있다(좀 더 미묘한 언어 주제에 대한 내용은 2부를 참조하자). 일상에서 접하는 문제를 해결하기 위해 이 책을 샀다면 3부 내용이 도움이 될 것이다. 4부 “고급 애플리케이션”은 3부와 얼핏 유사하지만 설계 기술보다는 특정 애플리케이션을 위해 템플릿이 어떻게 사용되는가를 더욱 강조했다. 따라서 4부에 들어가기 앞서 3부의 내용을 숙지하는 편이 좋다.

부록에는 유용한 정보들이 다수 포함되어 있으므로 본문에서도 자주 부록을 언급할 것이다. 부록 또한 따로 읽을 만한 가치가 있도록 주의를 기울였다.


[ 소스코드 ]

책에서 기술을 익히려면 예제를 통해 살펴보는 편이 가장 빠르다. 이 책은 많은 예제를 제시하고 있다. 추상적인 개념을 드러내기 위해 코드 몇 줄로 보여주는 예제도 있지만, 견고한 애플리케이션을 제공하기 위한 완벽한 프로그램으로 만들어진 예제도 있다. 후자의 예제들은 해당 프로그램 코드를 설명하는 C++ 주석도 같이 제공된다. 예제 파일은 이 책의 웹사이트인 http://www.josuttis.com/tmplbook/나 한국어판 도서정보 페이지 http://www.acornpub.co.kr/book/cplustemplate에서 내려받을 수 있다.