서브메뉴

본문

전문가를 위한 C++ 1 (C++11를 대하는 유쾌한 방법)
전문가를 위한 C++ 1 (C++11를 대하는 유쾌한 방법)
저자 : 마크 그레고리|니콜라스 솔터|스캇 클레퍼
출판사 : 한빛미디어
출판년 : 2013
ISBN : 9788968480386

책소개

『전문가를 위한 C++. 』제1권. C++를 아마추어가 아닌 전문가처럼 사용하는 방법을 알려주는 책이다. C++의 기초 문법부터 디자인 방법론까지 그리고 최신의 C++11 표준까지 거의 모든 측면을 하나하나 예제를 통해 다루고 있다.C++ 전문가가 되기 위해 필요한 내용을 조목조목 옮겼다. C++의 기본 기능에서 널리 알려지지 않았던 기능까지 설명한다. 오랜 역사를 지닌 C++ 언어에 대한 오해와 올바른 프로그래밍 방법을 소개한다. C++ 언어의 핵심 기능, 템플릿, 표준 라이브러리(STL), 문자열, 입출력과 같은 기본부터 제네릭 코드 작성, 타입 추론, 템플릿 재귀, 메타프로그래밍, 메모리 관리, 멀티스레드 같은 고급 기능까지 다룬다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

더 쉽게, 더 빠르게, 더 깔끔하게
프로그래머가 알아야 할 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++ 면접 예상 질문

옮긴이 서문
C++는 C와 더불어 마지막까지 살아남을 언어 중 1순위로 꼽힙니다. 기존의 PC, 서버, 임베디드 환경은 물론 안드로이드와 아이폰 앱까지도 프레임워크의 도움을 조금만 받으면 C++로 개발할 수 있고 고사양 게임들은 실제로 그렇게 만들어집니다.
그간의 경험으로 보았을 때 C++를 제대로 다룰 줄 아는 사람은 다른 언어도 굉장히 쉽게 배우고 잘 활용합니다. C++는 C의 저수준 기능과 고수준의 객체 지향 언어, 두 측면을 모두 가지고 있기 때문에 C++를 잘 다룬다는 것은 하드웨어적인 부분부터 고차원적인 소프트웨어 디자인까지 모두 다 할 줄 안다는 것을 의미합니다. 그래서 개발자를 채용할 때도 C++를 잘하는 사람에게 점수를 더 쳐줍니다. 그런데 C++를 안다는 사람을 막상 인터뷰해보면 그 수준에 실망하는 경우가 태반입니다.
C++는 굉장히 방대한 언어이기 때문에 수년간의 개발 경험이 있더라도 쓰던 기능만 사용하여 그 깊이가 얕은 경우가 많습니다. 어떤 일이든 마찬가지이지만 자신이 무엇을 모르는지 모르는 상태를 극복하는 것만큼 어려운 일은 없습니다. 이럴 때 필요한 것이 바로 잘 만들어진 포괄적인 안내서입니다.
『전문가를 위한 C++』는 이미 외국에서 “빨간 책 시리즈”로 유명합니다. 이 책은 제목 그대로 C++를 아마추어가 아닌 전문가처럼 사용하는 방법을 알려주는 책입니다. 전문가와 아마추어의 차이는 무엇일까요? 프로라면 자신이 사용하는 도구가 어디까지 할 수 있는지, 어떤 특성이 있는지, 어떤 부분들을 주의해야 하는지 제대로 알고 있어야 합니다. 『전문가를 위한 C++』는 C++의 기초 문법부터 디자인 방법론까지, 그리고 최신의 C++11 표준까지 거의 모든 측면을 하나하나 예제를 통해 다루고 있습니다. C++를 꽤 안다고 자부하는 사람이라도 이 책에서 심심찮게 새로운 의미, 새로운 기능들을 발견하며 무릎을 치리라는 것을 믿어 의심치 않습니다.
『전문가를 위한 C++』는 여타의 C++ 서적과 다릅니다. 가장 큰 차이점은 마치 매뉴얼처럼 문법을 중심에 두고 개별적으로 나열하는 것이 아니라 실용적인 맥락을 중심에 두고 그에 대한 솔루션을 서술한다는 데 있습니다. 이러한 설명 방식은 실제 업무 현장에서 부딪히는 상황과 같아서 굉장히 자연스럽습니다. 다르게 말하면 소화가 잘 됩니다. 같은 지식이라도 설명하는 방식에 따라 머리에 남을 수도 있고 애써 시간을 들였음에도 머리에서 튕겨져 나갈 수도 있습니다.
어떤 책을 선택해야 할지는 매우 자명합니다
_권오인
[교보문고에서 제공한 정보입니다.]

목차정보

1부: 전문가를 위한 C++ 개요
1장. C++ 부딪혀 보기
1.1. C++ 언어의 기초
1.1. C++ 언어 심화 탐구
1.2. 객체지향 언어로서의 C++
1.3. 표준 라이브러리
1.4. 첫 C++ 프로젝트
1.5. 요약

2장. 전문가를 위한 C++ 프로그램 디자인
2.1. 프로그램 디자인이란?
2.2. 프로그램 디자인의 중요성
2.3. C++ 디자인의 특징
2.4. C++ 디자인의 두 가지 원칙
2.5. 코드의 재사용
2.6. 패턴/테크닉을 이용한 디자인
2.7. 체스 프로그램 디자인하기
2.8. 요약

3장. 객체를 이용한 디자인
3.1. 절차적 사고방식이란 무엇인가?
3.2. 객체지향 철학
3.3. 객체 세상에서 생각하기
3.4. 객체간 관계
3.5. 추상화
3.6. 요약

4장. 재사용성을 높이는 디자인
4.1. 재사용 철학
4.2. 재사용성 높은 코드를 디자인하는 방법
4.3. 요약

5장. 코딩 스타일
5.1. 보기 좋은 코드의 중요성
5.2. 코드의 문서화
5.3. 코드 분할(decomposition)
5.4. 네이밍
5.5. 스타일이 있는 언어의 활용
5.6. 포맷팅
5.7. 스타일 적용의 장애물
5.8. 요약

2부 전문가다운 코딩 방법
6장. 클래스와 객체에 능숙해지기
6.1. 스프레드시트 실습
6.2. 클래스 만들기
6.3. 객체의 라이프 사이클
6.4. 요약

7장. 클래스와 객체 마스터하기
7.1. 동적 메모리 할당을 통한 객체 생성
7.2. 여러 종류의 데이터 멤버 변수
7.3. 메서드의 종류
7.4. 중첩된 클래스
7.5. 클래스 종속 나열형 데이터 타입
7.6. friend 속성
7.7. 오퍼레이터 오버라이딩
7.8. 안정된 인터페이스 만들기
7.9. 요약

8장. 클래스 상속 활용 테크닉
8.1. 상속을 통한 클래스 생성
8.2. 코드 재사용을 위한 상속
8.3. "부모를 존중하라"
8.4. 다형성을 위한 상속
8.5. 다중 상속
8.6. 상속과 관련된 미묘한 문제들
8.7. 요약

9장. C++의 까다롭고 유별난 부분들
9.1. 참조형 타입
9.2. 키워드 혼동
9.3. 타입과 캐스팅
9.4. C++11 C++11
9.5. 헤더 파일
9.6. C 유틸리티
9.7. 요약

10장. 에러 처리
10.1. 에러와 익셉션
10.2. 익셉션의 동작 구조
10.3. 익셉션과 다형성
10.4. 스택 되돌림과 리소스 해제
10.5. 흔한 에러 처리관련 문제
10.6. 요약

11장. C++ 표준 라이브러리 살펴보기
11.1. 코딩 원칙
11.2. C++ 표준 라이브러리 개괄
11.3. 요약

12장. 컨테이너와 반복자의 이해
12.1. 컨테이너 개괄
12.2. 순차 컨테이너
12.3. 컨테이너 어댑터
12.4. 연관 컨테이너
12.5. C++11 비순차 연관 컨테이너 - 해시 테이블
12.6. 기타 컨테이너
12.7. 요약

13장. STL 알고리즘 마스터하기
13.1. 알고리즘 개괄
13.2. C++11 람다 표현식
13.3. 함수 객체
13.4. STL 알고리즘 심화 탐구
13.5. 알고리즘 예제: 선거인 명부 검사
13.6. 요약

14장. STRING과 정규 표현식
14.1. 동적 문자열
14.2. 로컬라이제이션(localization: 다국어 지원)
14.3. C++11 정규 표현식
14.4. 요약

15장. C++ I/O 이해하기
15.1. 스트림의 사용
15.2. 요약

16장. C++11 유틸리티 라이브러리
16.1. std::function
16.2. 분수(ratios)
16.3. duration
16.4. 튜플(TUPLE)
16.5. 요약

17장. STL의 커스터마이징과 확장
17.1. 할당자
17.2. 반복자 어댑터
17.3. STL 확장하기
17.4. 요약
[교보문고에서 제공한 정보입니다.]

QuickMenu