쉽게 설명한 C++ 핵심 가이드라인

쉽게 설명한 C++ 핵심 가이드라인

$37.00
Description
“C++ 핵심 가이드라인의 규칙들을 좀 더 많은 사람이 수월하게 익히게 한다는, 어렵고도 꼭 필요한 작업을 저자가 자신의 교육 기술과 업계 경험을 적용해서 완수했다는 것은 우리 C++ 핵심 가이드라인 편집자들에게 매우 기쁜 소식이다.”
- C++ 핵심 가이드라인 공동 편집자 비야네 스트롭스트룹과 허브 서터


C++ 핵심 가이드라인(C++ Core Guidelines)은 뛰어난 현대적 C++ 코드를 작성하기 위한, 그리고 기존 코드를 개선하기 위한 일관된 모범 관행들을 제공한다. 그러나 C++ 핵심 가이드라인은 특정 주제의 규칙을 한 번에 하나씩 찾아보는 데 특화된 형태로 구성되어 있어서 실무 개발자를 위한 튜토리얼로는 적합하지 않다. 《쉽게 설명한 C++ 핵심 가이드라인》은 C++ 핵심 가이드라인에서 과도하게 기술적인 부분을 제거하고 본질적인 내용을 추출해서 집필하여 C++ 핵심 가이드라인을 이해하는 데 도움이 되는 새로운 통찰과 맥락을 저자 자신의 교육 경험에서 검증된 예제들과 함께 제공한다.

이 책은 경험 있는 개발자가 C++11 이후의 현대적 C++ 표준들에 근거해서 코드를 작성할 때 C++ 핵심 가이드라인을 활용하는 데 도움을 준다. 대부분의 예제 코드는 C++17을 기준으로 하되, C++20과 그 이후 표준의 기능을 언급하는 부분도 있다. 또한, 좀 더 자세한 정보를 원하는 독자를 위해 웹에 있는 C++ 핵심 가이드라인 문서의 해당 부분으로 가는 링크도 제시한다.

이 책을 통해 소프트웨어를 새로 작성할 때나 기존의 구식 코드를 개선할 때, C++ 핵심 가이드라인의 가장 유용한 규칙들을 활용해서 좀 더 안전하고, 깔끔하고, 효율적이고, 유지보수하기 쉬운 코드를 작성할 수 있을 것이다.

[이 책에서 다루는 내용]
ㆍ C++ 핵심 가이드라인의 규칙들과 그 저변에 깔린 프로그래밍 철학을 적용한다.
ㆍ 인터페이스, 함수, 클래스, 열거형, 자원, 표현식, 문장을 올바르게 사용한다.
ㆍ 성능을 최적화하고, 동시성과 병렬성을 구현하고, 오류를 처리한다.
ㆍ 상수, 불변성, 템플릿, 일반적 프로그래밍, 메타프로그래밍을 효과적으로 다룬다.
ㆍ C++ 코딩 스타일을 개선하고, 소스 파일들을 관리하고, 표준 라이브러리를 활용한다.
저자

라이너그림

RainerGrimm
1999년부터소프트웨어아키텍트,팀장,강사로일했다.2002년에는자신이일하는회사에서직원재교육프로그램을만들었다.첫세미나는상용관리소프트웨어에관한것이었지만,곧파이썬과C++로방향을바꾸었다.여가에는C++,파이썬,하스켈에관한글을쓴다.또한콘퍼런스에서강연하길즐긴다.영어및독일어블로그ModernesC++에매주글을올리고있으며,2016년부터는독립강사로일하면서현대적C++과파이썬세미나를진행하고있다.직업이강사인만큼,현대적C++을가르치는최상의방법을항상찾고있다.
https://www.modernescpp.com

목차

1부지침들
1장소개
1.1대상독자
1.2목적
1.3목적이아닌것
1.4규칙의집행
1.5구조
1.6주요섹션

2장철학
2.14대기능
2.2핵심언어
2.3표준라이브러리
2.4동시성

3장인터페이스
3.1비const전역변수의저주
3.2해결책으로서의의존성주입
3.3좋은인터페이스만들기
3.4관련규칙들

4장함수
4.1함수의정의
4.2매개변수전달:입력과출력
4.3매개변수전달:소유권의미론
4.4값반환의미론
4.5기타함수
4.6관련규칙

5장클래스와클래스위계구조
5.1클래스일반규칙
5.2구체형식
5.3생성자,배정,소멸자
5.4클래스위계구조
5.5중복적재와중복적재된연산자
5.6공용체
5.7관련규칙들

6장열거형
6.1일반규칙들
6.2관련규칙들

7장자원관리
7.1일반규칙들
7.2할당과해제
7.3스마트포인터
7.4관련규칙들

8장표현식과문장
8.1일반규칙들
8.2선언
8.3표현식
8.4문장
8.5산술
8.6관련규칙들

9장성능
9.1잘못된최적화
9.2잘못된가정
9.3최적화의활성화
9.4관련규칙들

10장동시성
10.1일반지침
10.2동시성
10.3병렬성
10.4메시지전달
10.5무잠금프로그래밍
10.6관련규칙들

11장오류처리
11.1오류처리의설계
11.2구현
11.3예외를던질수없으면
11.4관련규칙들

12장상수와불변성
12.1const적용
12.2constexpr적용

13장템플릿과일반적프로그래밍
13.1템플릿의용도
13.2템플릿인터페이스
13.3템플릿정의
13.4템플릿과위계구조
13.5가변인수템플릿
13.6메타프로그래밍
13.7기타규칙들
13.8관련규칙들

14장C스타일프로그래밍
14.1전체소스코드가있는경우
14.2전체소스코드가없는경우

15장소스파일
15.1인터페이스파일과구현파일
15.2이름공간

16장표준라이브러리
16.1컨테이너
16.2문자열
16.3입력과출력
16.4관련규칙들

2부지원섹션들
17장구조적개념들

18장비규칙과미신

19장프로파일
19.1형식안전성
19.2경계안전성
19.3수명안전성

20장GSL:가이드라인지원라이브러리
20.1뷰
20.2소유권포인터
20.3단언
20.4유틸리티

3부부록
부록AC++핵심가이드라인의집행
A.1VisualStudio
A.2clang-tidy

부록B콘셉츠

부록C계약