메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

전문가를 위한 C++ : C++ 11을 대하는 유쾌한 방법(개정판 2권)

한빛미디어

번역서

절판

  • 저자 : 마크 그레고리 , 니콜라스 솔터 , 스캇 클레퍼
  • 번역 : 권오인
  • 출간 : 2013-10-17
  • 페이지 : 576 쪽
  • ISBN : 9788968480393
  • 물류코드 :2039
  • 초급 초중급 중급 중고급 고급
4점 (2명)
좋아요 : 28

더 쉽게, 더 빠르게, 더 깔끔하게
프로그래머가 알아야 할 C++와 C++11의 모든 것!

 

프로그래밍을 더 효율적으로 바꿔주는 C++11
nullptr가 0(NULL)을 대체한다. func(0)이 숫자 0을 전달하는지, 널을 전달하는지 고민해야 하고, 0이 언제 다른 값으로 바뀔지 몰라 두려움에 떨었다면 nullptr로 그런 고민을 날려 버리자. nullptr는 타입 안전성을 보장하고 int로 변환되지 않는다. C++11에는 function, unique_ptr, shared_ptr, ref, cref, reference_wrapper처럼 프로그래밍을 더 효율적으로, 실수는 더 적게 해줄 도구가 가득하다. auto, 생성자 상속, decltype과 같은 새로운 기능 덕분에 초기화 리스트, 템플릿, 별칭, rvalue 참조, 기본값 함수, 가변인자 템플릿과 같은 고급 추상화가 가능해졌다. C++11은 두려움의 대상이 아니라 작업을 더 빠르게 해줄 수 있는 더 나은 언어다.

 

740개의 예제 코드로 설명한 C++의 모든 것
C++ 전문가가 되기 위해 필요한 내용을 조목조목 옮겼다. C++의 기본 기능에서 널리 알려지지 않았던 기능까지 설명한다. 오랜 역사를 지닌 C++ 언어에 대한 오해와 올바른 프로그래밍 방법을 소개한다. C++ 언어의 핵심 기능, 템플릿, 표준 라이브러리(STL), 문자열, 입출력과 같은 기본부터 제네릭 코드 작성, 타입 추론, 템플릿 재귀, 메타프로그래밍, 메모리 관리, 멀티스레드 같은 고급 기능까지 다룬다. 소프트웨어 엔지니어링 측면에서 알아야 할 버전 관리, 소프트웨어 개발 방법론, 코드 최적화, 테스팅, 디버깅, 프레임워크, 디자인 패턴까지 소개해 C++ 전문가가 되고 싶은 독자는 물론 현업 C++ 전문가도 전체 지식을 복습할 수 있게 했다.

 

주요 내용

  • C++와 C++11에 대한 상세한 설명
  • C++ 기능에 대한 오해와 해결책
  • 템플릿, 표준 라이브러리, 메타프로그래밍
  • 제네릭, 메모리 관리, 멀티스레드
  • 최적화, 테스팅, 디버깅, 디자인 패턴
  • 소프트웨어 공학, 개발 방법론, 소스 코드 관리
  • C++ 면접 예상 질문
마크 그레고리 저자

마크 그레고리

벨기에 출신 소프트웨어 아키텍트로서 루벤 대학교에서 컴퓨터 과학과 인공지능 분야의 석사 과정을 우수한 성적으로 졸업했다. 소프트웨어 컨설팅 회사인 오디나 벨지움(Ordina Belgium)에서 컨설턴트로 근무하면서 지멘스와 노키아 지멘스 네트웍스에서 통신 시스템 운영자를 위한 솔라리스 기반 2G 및 3G 관련 소프트웨어 업무를 담당했다. 이 과정에서 남미, 미국, 유럽, 중동, 아프리카, 아시아를 비롯한 전 세계 출신의 개발자와 협업하는 경험을 했다. 현재 3D 형상 검사를 위한 정밀 광학 장비와 메트롤로지 솔루션을 공급하는 니콘 메트롤로지(www.nikonmetrology.com)에서 소프트웨어 아키텍트로 근무한다.

전문 분야는 C/C++이며 마이크로소프트 VC++와 MFC 프레임워크 경험이 풍부하다. 이와 관련하여 윈도우와 리눅스 플랫폼에서 하루 24시간, 7일 동안 구동하는 KNX/EIB 홈오토메이션 소프트웨어를 C++로 개발한 경험이 있다. C/C++ 외에도 C#과 PHP를 이용하여 웹 페이지를 제작하는 것을 즐긴다. VC++에 대한 전문성을 인정받아 2007년 4월부터 현재까지 매년 마이크로소프트 MVP로 선정됐다. 벨기에 C++ 사용자 그룹(www.becpp.org) 창립자, 『C++ Standard Library Quick Reference』(Apress) 공저자, 여러 출판사의 기술 편집자, 코드구루(CodeGuru) 포럼의 멤버(아이디 Marc G)이기도 하다. 개인 블로그(www.nuonsoft.com/blog)도 운영하고 있으며, 여행과 맛집 탐방을 즐긴다.

 

 

니콜라스 솔터 저자

니콜라스 솔터

시스템 소프트웨어에서부터 게임, 웹 서비스 등 여러 분야에 개발 경험이 있으며 Sun Microsystems에서 고가용성 클러스터 시스템과 관련해 세 건의 특허와 International Parallel and Distributed Processing Symposium 학회 발표 경력이 있다. Sun에서는 OpenSolaris 개발 업무에 참여하였으며 『OpenSolaris Bible』(Wiley, 2009)의 주 저자이기도 하다. 현재 Context Optional에서 스캇(본서의 제3저자)과 함께 웹 개발 업무를 하고 있다.

스탠퍼드 대학에서 컴퓨터 과학 분야 학/석사 학위를 취득하였고 Fullerton Community College에서 1년 동안 C++ 강사로도 활동했다. 아름다운 콜로라도에서 아내, 두 자녀와 함께 살고 있으며 설상 스포츠를 즐긴다.

스캇 클레퍼 저자

스캇 클레퍼

초등학교 시절 Tandy TRS-80용 어드벤처 게임을 BASIC으로 만들면서 프로그래밍 업계에 발을 들였다. 고교 시절에는 맥 신봉자였으며 이때 고수준 언어에 관심을 가지고 여러 셰어웨어 애플리케이션 개발로 상을 받았다.

스탠퍼드 대학에서 컴퓨터 과학, 특히 Human-Computer Interaction 분야에서 학/석사 학위를 취득하였으며 프로그래밍 개론, 객체 지향 디자인, 데이터 구조, GUI 프레임워크, 인터넷 프로그램 과목들의 조교로 활동했다. 나중에는 『Professional C++』를 스탠퍼드의 정규 과목으로 채용했다.

졸업 후, 여러 회사의 초기 개발팀에서 리더 엔지니어로 일했으며 2006년에는 Context Optional, Inc.를 공동 창업하여 소셜 마케팅 기술을 제공하고 있다. 업무 외적으로는 충동적인 온라인 쇼퍼이며, 다독하며, 훌륭한 기타리스트이다.

권오인 역자

권오인

아르바이트, 창업, 벤처를 거쳐 잠시 생뚱맞게 이동 통신사 연구소에서 사업 기획을 하다가 현재 대형 제조사에서 시스템 소프트웨어 개발을 하고 있다.

3부: C++ 고급 기능 마스터하기
18장. C++ 연산자 오버로딩
18.1. 연산자 오버로딩 개괄
18.2. 산술 연산자의 오버로딩
18.3. 비트 연산자, 논리 연산자의 오버로딩
18.4. 입출력 연산자(insertion/extraction operator)의 오버로딩
18.5. 서브스크립팅 연산자(subscripting operator)의 오버로딩
18.6. 함수 호출 연산자의 오버로딩
18.7. 역참조 연산자의 오버로딩
18.8. 변환 연산자 만들기
18.9. 메모리 할당/해제 연산자의 오버로딩
18.10. 요약

 

19장. 템플릿을 이용한 제네릭 코드의 작성
19.1. 템플릿 개괄
19.2. 템플릿 클래스
19.3. 함수 템플릿
19.4. 요약

 

20장. 고급 템플릿
20.1. 템플릿 파라미터 심화탐구
20.2. 템플릿 클래스의 부분 특수화
20.3. 오버로딩을 이용해 템플릿 함수의 부분 특수화 흉내내기
20.4. 재귀 템플릿
20.5. C++11 타입 추론
20.6. C++11 가변 인자 템플릿
20.7. 메타프로그래밍
20.8. 요약

 

21장. 효과적인 메모리 관리
21.1. 동적 메모리의 활용
21.2. 저수준 메모리 동작 메커니즘
21.3. 요약

 

22장. C++11 C++ 멀티스레드 프로그래밍
22.1. C++ 스레딩 라이브러리 소개
22.2. 아토믹 작업 라이브러리
22.3. 스레드
22.4. 멀티스레드 Logger 클래스 예제
22.5. 스레드 풀(Thread Pool)
22.6. 스레딩 디자인 요령
22.7. 요약

 

4부: C++ 소프트웨어 엔지니어링
23장. 여러 가지 소프트웨어 엔지니어링 방법론
23.1. 절차의 필요성
23.2. 소프트웨어 생명 주기(Life Cycle) 모델
23.3. 소프트웨어 엔지니어링 방법론
23.4. 나만의 개발 절차와 방법론 만들기
23.5. 소스 코드 관리
23.6. 요약

 

24장. 효율적인 C++ 코드 작성
24.1. 성능과 효율 개괄
24.2. 언어 수준 효율성
24.3. 디자인 수준 효율성
24.4. 프로파일링(Profiling)
24.5. 요약

 

25장. 크로스 플랫폼, 다중 언어 애플리케이션 개발
25.1. 크로스 플랫폼 개발
25.2. 복수의 언어를 이용한 개발(Cross Language Development)
25.3. 요약

 

26장. 테스트에 익숙해지기
26.1. 품질관리
26.2. 상위 수준 테스트
26.3. 효과적인 테스트 요령
26.4. 요약

 

27장. 디버깅 완전정복
27.1. 디버깅의 기본 원칙
27.2. 버그의 분류
27.3. 버그 방지
27.4. 버그 대응 계획
27.5. 디버깅 테크닉
27.6. 요약

 

28장. 디자인 테크닉과 프레임워크의 활용
28.1. "그 문법이 어떻게 됐었지? ..."
28.2. 항상 더 나은 방법이 있다.
28.3. 객체지향 프레임워크
28.4. 요약

 

29장. 디자인 패턴의 적용
29.1. 반복자 패턴(Iterator Pattern)
29.2. 싱글톤 패턴(Singleton pattern)
29.3. 팩토리 패턴(Factory Pattern)
29.4. 프록시 패턴(Proxy Pattern)
29.5. 어댑터 패턴(Adapter Pattern)
29.6. 데코레이터 패턴(Decorator Pattern)
29.7. 옵져버 패턴(Observer Pattern)
29.8. 요약

 

부록 A: C++ 인터뷰
부록 B. 참고 문헌

이전 리뷰 에 이어 개정판 2권을 리뷰하게 되었습니다.

"전문가를 위한 C++"를 리뷰 기회를 주신 한빛 리더스에게 감사를 표합니다.

원서의 제목은 "Professional C++, 2nd Edition" 입니다.

원서는 1권으로 되어 있으나, 번역서의 경우 2권으로 구성되어 있습니다.

먼저, 이 책을 한 문장으로 표현할 글을 인용합니다.

더 쉽게, 더 빠르게, 더 깔끔하게 프로그래머가 알아야 할 C++와 C++11의 모든 것!


1권을 읽은 독자라면 C++11 에 대한 기초를 익히게 되었을 것이라 생각한다.

2권에서는 고급 내용들을 다루고 있다.

2권의 3부에서는 C++ 고급 기능중에 하나인 연산자 오버로딩 에 대해 자세히 다루고 있다.

그리고 템플릿, 메모리 관리, 멀티스레드 프로그래밍에 대해 다루고 있다.

그동안 위 내용들에 대해 고민하고 있던 부분들이 많던 개발자라면 많은 도움을 받을 수 있을 것이라 생각한다.

4부-소프트웨어 엔지니어링 챕터에서는 실무에서 유용하게 사용되고 있는 주제들에 대해 다루고 있다.

방법론, 테스트, 디버깅, 디자인 패턴까지...


모든 번역서에 바라는 점이지만... 번역이 잘 되어 있어 추천합니다.

이번 리뷰 미션에서 오탈자를 찾는 부분이 있었는데... 리뷰하며 읽어본 결과 오탈자가 별로 없는 것 같네요.

트랙백 : http://www.hanb.co.kr/trackback/978-89-6848-039-3

이 책은 C++ 언어 문법 그 자체 뿐 만이 아니라 컴퓨터공학의 개념인 자료구조, 알고리즘, 디자인패턴, 소프트웨어 공학 등을 한번 더 리뷰해볼 수 있는 책이다.

책의 서문에서 대상 목표로써 "C++에 대한 지식이 초보나 중간 수준인 사람이 C++ 전문가로 성장할 수 있도록 돕는다"고 하고 있다. 그렇기에 더 나은 프로그래밍을 위한 기법과 방법론에 중점을 두고 설명을 하고 있다.

전문가를 위한 C++은 총 5개의 부분으로 구성이 되어있으며 그 중 2권은 뒤의 3부의 내용이 실려있다.

3부는 연산자 오버로딩, 템플릿의 구현, 메모리 관리와 멀티스레드 프로그래밍에 대한 내용이다.

4부는 소프트웨어 공학의 개발 방법론과 효율적 코드 작성 방법, 크로스플랫폼 개발, 코드의 품질관리와 테스팅에 대한 내용이 실려있다.

학생으로서는 크로스 플랫폼이라던지 단위테스트에 대해 직접 해볼 수 있는 경험이 없어 이런 설명이 있는 것이 좋았다.

그 이후에 부록으로 프로그래밍에 나올 수 있는 면접 문제나 이 책의 참고 문헌이 적혀있다. 참고 문헌 목록의 정리가 분야별로 잘 되어있어 더 공부하고 싶은 분야의 추천도서가 될 수 있을 것 같다.

각 챕터에는 그에 맞게 많은 예제 코드가 실려있기 때문에 이해가 더 쉽다.

다만 설명 중간에 1권에 설명이 되어있는 내용이나 개념은 그 위치를 언급하고 넘어가기 때문에 1, 2권을 함께 사는 것이 낫다고 생각한다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
전문가를 위한 C++ : C++ 11을 대하는 유쾌한 방법(개정판 2권)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
전문가를 위한 C++ : C++ 11을 대하는 유쾌한 방법(개정판 2권)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
전문가를 위한 C++ : C++ 11을 대하는 유쾌한 방법(개정판 2권)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0