서문
-C++을 배우는 이유
-이 책을 읽는 이유
-미녀와 야수
-과학과 공학을 위한 프로그래밍 언어
-조판 관례
-감사의 글
1장 C++ 기초
1.1 생애 첫 C++ 프로그램
1.2 변수
1.3 연산자
1.4 표현식과 문장
1.5 함수
1.6 오류 처리
1.7 입출력
1.8 배열, 포인터, 참조
1.9 소프트웨어 프로젝트의 구조화
1.10 연습문제
2장 클래스
2.1 기술적 세부사항보다는 보편적 의미를 체현하는 프로그래밍 접근 방식
2.2 멤버
2.3 값의 설정: 생성과 배정
2.4 소멸자
2.5 메서드 생성 요약
2.6 멤버 변수 접근
2.7 연산자 중복적재의 설계
2.8 연습문제
3장 일반적 프로그래밍
3.1 함수 템플릿
3.2 이름공간과 함수 조회
3.3 클래스 템플릿
3.4 형식 연역과 형식 정의
3.5 템플릿 특수화
3.6 비형식 템플릿 매개변수
3.7 함수자
3.8 람다
3.9 변수 템플릿
3.10 콘셉트를 이용한 프로그래밍
3.11 가변 인수 템플릿
3.12 연습문제
4장 표준 라이브러리
4.1 표준 템플릿 라이브러리(STL
4.2 수치
4.3 메타프로그래밍
4.4 유틸리티
4.5 시간
4.6 동시성
4.7 표준 라이브러리 이외의 과학 라이브러리
4.8 연습문제
5장 메타프로그래밍
5.1 컴파일러가 계산하게 하라
5.2 형식 정보의 제공과 활용
5.3 표현식 템플릿
5.4 메타조율: 나만의 컴파일러 최적화 작성
5.5 의미론적 콘셉트를 이용한 최적화
5.6 튜링 완전성
5.7 연습문제
6장 객체 지향적 프로그래밍
6.1 기본 원리
6.2 중복성 제거
6.3 다중 상속
6.4 하위형식화(subtyping를 통한 동적 선택
6.5 형식의 변환
6.6 고급 기법
6.7 연습문제
7장 과학 프로젝트
7.1 상미분방정식 해법의 구현
7.2 프로젝트 만들기
7.3 모듈
7.4 맺음말
부록A 지저분한 세부사
[이 책에서 다루는 내용]
변수, 연산자, 표현식, 문장, 함수, 오류 처리, 입출력, 배열, 포인터, 참조 등 C++의 핵심 기능
생성자/소멸자에서 연산자 중복적재와 다중 상속에 이르기까지 클래스와 객체 지향적 프로그래밍을 최대한 활용하는 방법
일반적 프로그래밍의 고급 기법과 템플릿 기반 기법
C++ 표준 라이브러리를 이용해서 더 견고하고 강력한 코드를 빠르게 작성하는 방법
메타프로그래밍과 최신 최적화 기법
대표적인 과학·공학 패키지
간단한 미분방정식 해법 라이브러리 작성 예제