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

한빛출판네트워크

전문가를 위한 C++(개정4판) : C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법

초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 3

전문가 수준 C++ 프로그래머와 그저 문법을 아는 C++ 프로그래머 

그 차이를 만드는 C++17 최고의 실전 가이드! 

원서 4번째 개정과 완전히 새로운 번역!

C++는 마스터하기 어렵기로 악명 높지만 풍부한 기능 덕분에 게임이나 상용 소프트웨어 애플리케이션을 개발하는 대표 언어로 자리매김했다. 숙련된 C++ 프로그래머조차 잘 모르는 고급 기능도 많이 있는데, C++17이 나온 지금이야말로 C++의 모든 기능을 살펴볼 절호의 기회다. 『전문가를 위한 C++(개정4판)』은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 이 책은 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하며 C++를 더 깊이 이해하려는 프로그래머에게 적합하다.

 

[이 책의 내용]

  • C++의 방대한 기능을 최대한 활용하여 효과적인 솔루션을 개발할 수 있도록 C ++ 사고방식을 제시한다.
  • 어설프게 알고 있거나 실수하기 쉬운 부분을 바로 잡고 효율과 성능을 높이는 다양한 팁과 기법, 우회전략을 소개한다.
  • 당장 프로젝트에서 마주치고 적용할 수 있는 현실적인 문제와 프로그램 예제를 소개한다.
  • 구조적 바인딩, 중첩 네임스페이스, constexpr if를 비롯한 C++17부터 새로 추가된 기능을 소개한다.
  • string_view, optional, 병렬 알고리즘, 파일시스템 API 등 C++17부터 새로워진 표준 라이브러리의 주요 기능을 심도 있게 살펴본다.

 

상세이미지_700.jpg

 

저자

마크 그레고리

벨기에 출신 소프트웨어 아키텍트로서 루벤 대학교에서 컴퓨터 과학과 인공지능 분야의 석사 과정을 우수한 성적으로 졸업했다. 소프트웨어 컨설팅 회사인 오디나 벨지움(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)도 운영하고 있으며, 여행과 맛집 탐방을 즐긴다.

 

 

역자

남기혁

고려대학교 컴퓨터학과에서 학부와 석사 과정을 마친 후 한국전자통신연구원에서 선임 연구원으로 재직하고 있으며, ㈜프리스티에서 네트워크 제어 및 검증 소프트웨어 개발 업무를 맡고 있다. 한빛미디어에서 출간한 『Make: 센서』, 『메이커 매뉴얼』, 『이펙티브 디버깅』, 에이콘출판사에서 출간한 『GWT 구글 웹 툴킷』(2008)』 , 『해킹 초보를 위한 USB 공격과 방어』(2011) , 『자바 7의 새로운 기능』(2013) , 『iOS 해킹과 보안 가이드』(2014) , 『Neutron 오픈스택 네트워킹』(2015) , 『실전 IoT 네트워크 프로그래밍』(2015), 『애플 워치 WatchKit 프로그래밍』(2015), 『현대 네트워크 기초 이론』(2016), 『도커 컨테이너』(2017), 『스마트 IoT 프로젝트』(2017), 『파이썬으로 배우는 인공지능』(2017), 『메이커를 위한 실전 모터 가이드』(2018), 『트러블 슈팅 도커』(2018), 『Go 마스터하기』(2018), 『자율주행 자동차 만들기』(2018) 등을 번역했다.

[Part 1 전문가를 향한 C++의 첫걸음]


CHAPTER 1 C++와 표준 라이브러리 초단기 속성 코스

_1.1 C++의 기초

_1.2 C++의 고급 기능

_1.3 C++의 객체지향 언어 특성

_1.4 유니폼 초기화

_1.5 표준 라이브러리

_1.6 첫 C++ 프로그램

_1.7 정리

 

CHAPTER 2 스트링과 스트링 뷰 다루기

_2.1 동적 스트링

_2.2 정리

 

CHAPTER 3 코딩 스타일

_3.1 코딩 스타일의 중요성

_3.2 코드 문서화

_3.3 코드 분할

_3.4 명명 규칙

_3.5 언어의 기능에 스타일 적용하기

_3.6 포매팅

_3.7 스타일과 관련하여 해결할 문제

_3.8 정리

 

[Part 2 전문가답게 C++ 소프트웨어 디자인하기]


CHAPTER 4 전문가다운 C++ 프로그램 디자인

_4.1 프로그램 디자인의 정의

_4.2 프로그램 디자인의 중요성

_4.3 C++에 적합한 디자인 방법

_4.4 C++ 디자인에 관련된 두 가지 원칙

_4.5 코드 재사용

_4.6 체스 프로그램 디자인

_4.7 요약

 

CHAPTER 5 객체지향 디자인

_5.1 절차형 사고방식

_5.2 객체지향 철학

_5.3 객체의 관점에서 바라보기

_5.4 객체 관계

_5.5 추상화

_5.6 요약

 

CHAPTER 6 재사용을 고려한 디자인

_6.1 재사용 철학

_6.2 코드를 재사용할 수 있도록 디자인하는 방법

_6.3 요약

 

[Part 3 전문가답게 C++ 코딩하기]


CHAPTER 7 메모리 관리

_7.1 동적 메모리 다루기

_7.2 배열과 포인터의 두 얼굴

_7.3 로우레벨 메모리 연산

_7.4 스마트 포인터

_7.5 흔히 발생하는 메모리 문제

_7.6 요약

 

CHAPTER 8 클래스와 객체 숙달하기

_8.1 스프레드시트 예제

_8.2 클래스 작성 방법

_8.3 객체의 라이프 사이클

_8.4 요약

 

CHAPTER 9 클래스와 객체 마스터하기

_9.1 friend

_9.2 객체에 동적 메모리 할당하기

_9.3 메서드의 종류

_9.4 데이터 멤버의 종류

_9.5 중첩 클래스

_9.6 클래스에 열거 타입 정의하기

_9.7 연산자 오버로딩

_9.8 안정된 인터페이스 만들기

_9.9 요약

 

CHAPTER 10 상속 활용하기

_10.1 상속을 이용한 클래스 구현

_10.2 코드 재사용을 위한 상속

_10.3 부모를 존중하라

_10.4 다형성을 위한 상속

_10.5 다중 상속

_10.6 상속에 관련된 미묘하면서 흥미로운 문제들

_10.7 요약

 

CHAPTER 11 C++의 까다롭고 유별난 부분

_11.1 레퍼런스

_11.2 키워드 혼동

_11.3 타입과 캐스팅

_11.4 스코프

_11.5 어트리뷰트

_11.6 사용자 정의 리터럴

_11.7 헤더 파일

_11.8 C 유틸리티

_11.9 요약

 

CHAPTER 12 템플릿으로 제네릭 코드 만들기

_12.1 템플릿 소개

_12.2 클래스 템플릿

_12.3 함수 템플릿

_12.4 변수 템플릿

_12.5 요약

 

CHAPTER 13 C++ I/O 완전 분석

_13.1 스트림 사용법

_13.2 스트링 스트림

_13.3 파일 스트림

_13.4 양방향 I/O

_13.5 요약

 

CHAPTER 14 에러 처리하기

_14.1 에러와 예외

_14.2 익셉션 처리 과정

_14.3 익셉션과 다형성

_14.4 익셉션 다시 던지기

_14.5 스택 풀기와 청소

_14.6 익셉션 처리 과정에서 흔히 발생하는 문제

_14.7 모두 합치기

_14.8 요약

 

CHAPTER 15 C++ 연산자 오버로딩하기

_15.1 연산자 오버로딩 개요

_15.2 산술 연산자 오버로딩하기

_15.3 비트 연산자와 논리 연산자 오버로딩하기

_15.4 스트림 입출력 연산자 오버로딩하기

_15.5 인덱스 연산자 오버로딩하기

_15.6 함수 호출 연산자 오버로딩하기

_15.7 역참조 연산자 오버로딩하기

_15.8 변환 연산자 구현하기

_15.9 메모리 할당과 해제 연산자 오버로딩하기

_15.10 요약

 

CHAPTER 16 C++ 표준 라이브러리 둘러보기

_16.1 코드 작성법

_16.2 C++ 표준 라이브러리 둘러보기

_16.3 요약

 

CHAPTER 17 컨테이너와 반복자 살펴보기

_17.1 컨테이너 개요

_17.2 순차 컨테이너

_17.3 컨테이너 어댑터

_17.4 정렬 연관 컨테이너

_17.5 비정렬 연관 컨테이너(해시 테이블)

_17.6 기타 컨테이너

_17.7 요약

 

CHAPTER 18 표준 라이브러리 알고리즘 마스터하기

_18.1 알고리즘 개요

_18.2 std::function

_18.3 람다 표현식

_18.4 함수 객체

_18.5 표준 라이브러리 알고리즘 심층 분석

_18.6 알고리즘 예제: 선거인 명부 검사

_18.7 요약

 

CHAPTER 19 스트링 현지화와 정규 표현식

_19.1 현지화

_19.2 정규 표현식

_19.3 요약

 

CHAPTER 20 여러 가지 유틸리티 라이브러리

_20.1 ratio 라이브러리

_20.2 chrono 라이브러리

_20.3 무작위수 생성

_20.4 optional

_20.5 variant

_20.6 any

_20.7 tuple

_20.8 파일시스템 지원 라이브러리

_20.9 요약

 

[Part 4 C++ 고급 기능 마스터하기]


CHAPTER 21 표준 라이브러리 커스터마이즈 및 확장

_21.1 할당자

_21.2 스트림 반복자

_21.3 반복자 어댑터

_21.4 표준 라이브러리 확장하기

_21.5 요약

 

CHAPTER 22 고급 템플릿

_22.1 템플릿 매개변수에 대한 심화 학습

_22.2 클래스 템플릿 부분 특수화

_22.3 오버로딩으로 함수 템플릿 부분 특수화 흉내내기

_22.4 템플릿 재귀

_22.5 가변 인수 템플릿

_22.6 메타프로그래밍

_22.7 요약

 

CHAPTER 23 C++ 멀티스레드 프로그래밍

_23.1 들어가며

_23.2 스레드

_23.3 아토믹 연산 라이브러리

_23.4 상호 배제

_23.5 조건 변수

_23.6 promise와 future

_23.7 멀티스레드 Logger 클래스 예제

_23.8 스레드 풀

_23.9 바람직한 스레드 디자인과 구현을 위한 가이드라인

_23.10 요약

 

[Part 5 C++ 소프트웨어 공학]


CHAPTER 24 소프트웨어 공학 기법

_24.1 프로세스의 필요성

_24.2 소프트웨어 라이프 사이클 모델

_24.3 소프트웨어 공학 방법론

_24.4 나만의 프로세스와 방법론 만들기

_24.5 소스 코드 관리

_24.6 요약

 

CHAPTER 25 효율적인 C++ 코드 작성법

_25.1 성능과 효율성에 대하여

_25.2 언어 차원의 효율성

_25.3 디자인 차원의 효율성

_25.4 프로파일링

_25.5 요약

 

CHAPTER 26 테스트 숙달하기

_26.1 품질 관리

_26.2 단위 테스트

_26.3 하이레벨 테스트

_26.4 성공적인 테스트를 위한 팁

_26.5 요약

 

CHAPTER 27 디버깅 완전 정복

_27.1 디버깅 기본 원칙

_27.2 버그 분류

_27.3 버그 방지

_27.4 버그 대비

_27.5 정적 어서션

_27.6 디버깅 테크닉

_27.7 요약

 

CHAPTER 28 디자인 기법과 프레임워크

_28.1 흔히 사용하지만 까먹기 쉬운 문법

_28.2 고급 기법

_28.3 객체지향 프레임워크

_28.4 요약

 

CHAPTER 29 디자인 패턴

_29.1 반복자 패턴

_29.2 싱글턴 패턴

_29.3 추상 팩토리 패턴

_29.4 프록시 패턴

_29.5 어댑터 패턴

_29.6 데코레이터 패턴

_29.7 책임 사슬 패턴

_29.8 옵저버 패턴

_29.9 요약

 

CHAPTER 30 크로스 플랫폼과 크로스 언어 애플리케이션 개발 방법

_30.1 크로스 플랫폼 개발

_30.2 크로스 언어 개발

_30.3 요약

 

[부록 A] C++ 면접 예상 질문 

[부록 B] 참고 문헌 

[부록 C] 표준 라이브러리 헤더 파일 

[부록 D] UML 기초 

  • 첫번째 리뷰어가 되어주세요.
부록/예제소스
자료명 등록일 다운로드
Google Drive 예제소스 2019-08-14 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

예약판매 안내

온라인 주문시 "2019-08-20 출고" 예상(출고 후 1~2일 이내 수령) - 내부 사정으로 출시가 지연될 수 있습니다.

구매한 도서중 예약도서가 포함되어 있을 경우, 예약도서 출고일에 함께 배송됩니다.

리뷰쓰기

닫기
* 도서명 :
전문가를 위한 C++(개정4판) : C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
전문가를 위한 C++(개정4판) : C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
전문가를 위한 C++(개정4판) : C++17, 제네릭 람다, STL, 템플릿, 디자인 패턴, 객체지향의 원리를 익히는 확실한 방법
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실