[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 f
★ 최신 C++를 마스터하려면 알아야 할 C++와 C++17의 모든 것
C++ 전문가가 되기 위해 필요한 내용을 조목조목 옮겼다. C++의 기본 기능에서 널리 알려지지 않았던 기능까지 설명한다. 오랜 역사를 지닌 C++ 언어에 대한 오해와 올바른 프로그래밍 방법을 소개한다. C++17까지 추가된 최신 기능을 기반으로 C++ 언어의 핵심 기능, 람다, 파일시스템, 템플릿, 표준 라이브러리(STL, 문자열, 입출력과 같은 기본부터 제네릭 코드 작성, 타입 추론, 템플릿 재귀, 메타프로그래밍, 메모리 관리, 멀티스레드 같은 고급 기능까지 다룬다. 소프트웨어 엔지니어링 측면에서 알아야 할 버전 관리, 소프트웨어 개발 방법론, 코드 최적화, 테스팅, 디버깅, 프레임워크, 디자인 패턴까지 소개해 C++ 전문가가 되고 싶은 독자는 물론 현업 C++ 전문가도 전체 지식을 복습할 수 있게 했다.
★ 대상 독자
C++를 수년 동안 사용하더라도 C++ 고급 기능에 익숙하지 않거나 고급 기능을 사용한 적이
거의 없는 사람이 있다. C++ 코딩에는 자신 있지만 C++로 디자인하는 방법이나 바람직한 프로그래밍 스타일을 자세히 알고 싶은 사람도 있다. 또한 C++ 경험은 부족하지만 실전에 제대로 활용하는 방법을 배우고 싶은 사람도 있다. 이 책은 C++ 실력을 전문가 수준으로 끌어올리려는 분 모두를 대상으로 한다.
★ 이 책의 내용
- C++의 방대한 기능을 최대한 활용하여 효과적인 솔루션을 개발할 수 있도록 C ++ 사고방식을 제시한다.
- 어설프게 알고 있거나 실수하기 쉬운 부분을 바로 잡고 효율과 성능을 높이는 다양한 팁과 기법, 우회전략을 소개한다.
- 당장 프로젝트에서 마주치고 적용할 수 있는 현실적인 문제와 프로그램 예제를 소개한다.
- 구조적 바인딩, 중첩 네임스페이스, constexpr if를 비롯한 C++17부터 새로 추가된 기능을 소개한다.
- string_view, optional, 병렬 알고리즘, 파일시스템 API 등 C++17부터 새로워