티스토리 뷰

c++ 11의 새로운 기능을 익히려고 좋은 책이 없나 인터넷을 검색하던 도중에 c++ 책 추천에 관련된 좋은 글이 있어서 짧게 남겨봅니다. 

번역할때 생략한 부분도 있고 오역도 있을 수 있으니 원문을 확인하시기 바랍니다. 


원문 : http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list



초보

  • 프로그래밍 경험이 없는 입문자
    • Programming: Principle and Practice Using C++ (Bjarne Stroustrup) (C++11/C++14반영) (번역서 o) : c++ 창시자가 쓴 책, 초보자를 위한 소개서이지만 초보자만을 위한 책은 아님. 국내 번역서가 있고 역자의 번역수준도 괜찮다는 평이 있습니다.
  • 프로그래밍 경험이 있는 입문자
    • C++ Primer(Stanle Lippman, Sosee Lajoie, and Barbara E. Moo) (C++11 반영) (번역서 o) : c++에 대해 철두철미하게 소개한 책. 자세한 설명과 접근성이 용이한 형식으로 작성됨. 다른 언어 경험이 있는 사람들을 대상으로 함.
    • A Tour of C++ (Bjarne Stroupstrup) (C++11 반영) : The Programming Language 4th ed 챕터 2-5의 확장판. 튜토리얼을 통해 표준 c++에 대한 개요를 설명. (약 180page, 14챕터로 구성), c++을 알고 있거나 다른 언어 경험이 있는 사람들을 대상으로 함
    • Accelerated C++ (Andrew Koenigand barbara Moo) (C++11 반영 x) (번역서 o) :  풍부한 구성. 프로그래밍에 관한 설명보다 c++에 대한 설명을 주로 다룸. 다른 언어를 경험해본 사람들을 대상으로 구성. 매우 컴팩트한 c++ 소개. 
    • Thinking in C++(Bruce Eckel) (C++11 반영 x) (번역서 없는듯) : 튜토리얼 스타일의 책. 낮은 난이도로 구성되어 있음. 근데 꽤 많은 기본적인 오류가 있음.
  • 훌륭한 교범
    • Effective C++ (Scott Meyers) (C++11 반영 나름대로 함) (번역서 o) : C++ 개발자라만 꼭 읽어봐야 하는 책. c++에 대한 약 50가지 기억하기 쉬운 지침 소개. c++11 및 c++14에 대한 내용이 실려있기는 하나 구식이 되어버림. 최신 내용은 Effective Modern c++를 추천
    • Effective Modern C++ (Scott Meyers) (C++11/C++14 반영) (번역서 o) : Effective C++의 최신 버전. C++03 -> C++11/C++14로의 전환을 목표로 쓰여진 책. 번역서는 전문 용어 번역에 대한 논란이 좀 있으나 그것만 빼면 괜찮은 수준
    • Effective STL (Scott Meyers) (C++11 반영 x) (번역서 o) : Effective c++과 유사한 목표로 쓰여진 책. 표준 라이브러리 사용에 대한 지침/사용방법 소개. 규칙과 이유를 설명.
중급
  • More Effective C++ (Scott Meyers) (C++11 반영 x) (번역서 o) : Effective C++ 에서 규칙 추가. Effective C++ 보다 중요하지 않지만 알아두면 좋은 내용 소개
  • Exceptional C++ (Herb Sutter) (C++11 반영 x) (번역서 o) : 자원 관리, 예외 안정성, pimpl idiom, name lookup, 좋은 클래스 디자인 및 c++ 메모리 모델을 다룸. 
  • More Exceptional C++ (Herb Sutter) (번역서 o, 절판) : 일반화 프로그래밍(generic programming), 최적화, 자원관리에 대한 논의가 담겨 있음. 1 책임 법칙(Single responsibility principle)과 비멤버 함수를 통해 모듈화 코드를 작성하는 아주 좋은 설명이 담겨 있음
  • C++ Coding Standards (Herb Sutter and Andrei Alexandrescu) (번역서 x): 올바른, 이해하기 쉬운, 효율적인 c++ 코드를 작성하게 도와주는 101개의 규칙, 양식, 위험등에 관해 서술
  • C++ Templates : The Complete Guide (David Vandevoorde and Nicolai M. Josuttis) (C++11 반영 x) : C++11 이전의 템플릿에 관한 내용 수록. 기초적인것에서부터 고급 템플릿 메타프로그래밍, 템플릿이 어떻게 동작하는지에 대한 자세한 설명, 그리고 많은 위험요소들에 대한 논의가 수록되어 있다. 2016년에 second edition이 출간될 예정이다.
고급
  • Modern C++ Design (Andrei Alexandrescu) (C++11 반영 x) (번역서 o 절판) : 고급 일반화 프로그래밍 기법에 대한 획기적인 책. 정책기반 디자인, 타입 리스트, 본질적인 프로그래밍 idioms 그리고 유용한 디자인 패턴들( factories, visitor 등)이 일반화 프로그래밍을 이용해 효율적으로, 모듈적으로, 깔끔하게 구현될 수 있는지를 설명한다.
  • C++ Template Metaprogramming (David Abrahams and Aleksey Gurtovoy) ( C++11 반영 x ) (번역서 o 절판)
  • C++ Concurrency In Action (Anthony Williams) (C++ 11 반영) ( 번역서 x ) : 스레드 라이브러리, atomics 라이브러리, c++ 메모리 모델, 락, 뮤텍스, 멀티스레드 어플리케이션의 디버깅과 디자인에 대한 이슈를 포함한 C++11의 concurrency 지원을 다룬 책
  • Advanced C++ Metaprogramming (Davide Di Gennaro) ( C++11 반영 ) ( 번역서 x ) : pre-C++11의 템플릿 메타프로그래밍 기법 메뉴얼. 이론보다 실전사용법에 더 촛점을 둠. 
참고서 스타일 - 모든 레벨
  • The C++ Programming Language (Bjarne Stroustrup) ( C++11 반영 ) ( 번역서 o ) : C++ 창시자가 쓴 책. C++의 핵심부터 표준 라이브러리, 프로그래밍 패러다임과 C++ 언어의 철학이 담겨져 있음. 번역서가 있으나 오타가 있다는 이야기가 있음
  • C++ Standard Library Tutorial and Reference (Nicolai Josuttis) ( C++11 반영 ) ( 번역서 o ) : C++ 표준 라이브러리에 대한 소개와 레퍼런스.
  • The C++ IO Streams and Locales (Angelika langer and Klaus Kreft) : 대부분의 책에서 아주 아주 조금만 다루는 부분인 streams 과 locales에 대해 다룬 책
C++11/14 참고서(레퍼런스북)
  • The C++ Standard (INCITS/ISO/IEC 14882-2011)
  • Overview of the New C++ (C++11/14) (PDF only) (Scott Meyers) (C++11/14 반영) : ppt 자료이며 3일 코스로 구성되어 있음. 짧지만 질은 좋음
  • CppCoreGuidlines (C++11/14/17? evolving) (Bjarne Straustrup, Herb Sutter) : C++을 잘 사용할 수 있도록하는 가이드라인. 책의 목표는 최신 C++을 효과적으로 사용할 수 있도록 사람들을 돕는 것. 이 가이드라인은 인터페이스, 자원관리, 메모리관리, 동시성과 같이 상대적으로 난이도 있는 부분에 촛점을 둠.  
옛날 책들
  • The Design and Evolution of C++ (Bjarne Stroustrup) : C++이 왜 이렇게 생겼는지 알고 싶다면 일어보시라. 표준 C++ 이전의 모든것을 다룬다
  • Rumination on C++ (Andrew Koenig and Barbara Moo)
  • Advanced C++ Programming Styles and Idioms (James Coplien)
  • Large Scale C++ Software Design (John Lakos) : C++의 큰 프로젝트 관리에 대한 테크닉을 설명. 새로운 버전이 2015년에 출간 될것으로 기대됨
  • Inside the C++ Object Model (Stanley Lippman) : 가상 멤버 함수가 일반적으로 어떻게 구현되는지, 다중 상속 시나리오에서 기초 객체가 어떻게 메모리에 배치되는지, 그리고 이러한 것들이 성능에 어떻게 영향을 끼치는지 알고 싶다면 읽어보아라

댓글 : 읽지 말아야할 C++ 책이 있다면 뭐가 있을까요?
답변 : X 시간만에 Y 정복하기의 종류. 예를들어 C++ 24시간만에 배우기, 이런책은 피하는게 좋다.


'프로그래밍(programming) > C++' 카테고리의 다른 글

Effective C++ 후기  (1) 2016.08.24
C++ Primer 5판 후기아닌 후기  (5) 2016.05.09
c++11 : auto 키워드  (0) 2016.03.12
c++ 기초플러스  (0) 2016.03.04
가상 파괴자(virtual destructor)  (2) 2016.02.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함