BACK TO THE BASIC, C++11 핵심 노트
C++11의 핵심 변경점만을 담은 C++11 프로그래밍 가이드
C++11은 2011년 8월 12일에 ISO C++ 표준 위원회에서 통과된 최신 C++ 표준이다. 기존 ISO C++ 표준과의 호환성을 유지하면서 객체 지향/스크립트 언어에서 제공하는 편리함을 추가하는 데 주안점을 두었다. 이 책은 C++ 프로그래머가 C++11에 기반을 두고 애플리케이션을 개발할 때 꼭 알아야 할 12가지 특징을 설명하면서 기존의 ISO C++99/03 표준과 C++11이 어떤 차이점이 있는지를 예제 중심으로 설명한다. 또한 C++ 프로그래머는 물론이고 객체 지향 프로그래밍 언어를 다뤄본 경험이 있는 프로그래머라면 누구나 C++11을 쉽게 이해할 수 있게 설명한 필자의 노력이 돋보인다.
1장. Hello! C++11 world
__1.1 C++11의 특징
__1.2 C++11 컴파일러
____1.2.1 컴파일러 지원
____1.2.2 GCC
____1.2.3 MSVC
____1.2.4 LLVM과 Clang
2장. auto 키워드
3장. 범위 기반 for문
4장. 유니폼 초기화
5장 decltype 키워드
6장. 새로운 배열 - std::array
__6.1 배열과 vector
__6.2 보안 향상
____6.2.1 포인터 타입 변환
____6.2.2 배열 크기
____6.2.3 부모 타입으로의 타입 변환 금지
__6.3 제공되는 인터페이스
7장. 스마트 포인터
__5.1 unique_ptr
__5.2 shared_ptr
__5.3 weak_ptr
__5.4 동시성 문제
8장. 람다 표현식
__8.1 함수 객체
__8.2 함수 객체의 특징
__8.3 함수 포인터와 함수 객체의 비교
__8.4 람다와 함수 객체의 비교
____8.4.1 간편한 코딩
____8.4.2 가독성 증가
__8.5 람다 함수 문법
____8.5.1 람다 함수 원형
____8.5.2 람다 함수 몸체
____8.5.3 람다 함수 호출
____8.5.4 람다 함수 파라미터
____8.5.5 람다 함수의 반환 값
____8.5.6 람다 함수 소개자
____8.5.7 람다 함수의 mutable 키워드
____8.5.8 람다 함수 활용
9장. static_assert 키워드
10장. R-Value 레퍼런스
11장. 이동 시맨틱
__11.1 이동 생성자와 이동 할당 연산자
____11.1.1 복사 생성자
____11.1.2 이동 생성자
__11.2 성능
12장. 퍼펙트 포워딩
__12.1 C++ 포워딩 문제
__12.2 함수 오버로딩을 이용한 포워딩 문제 해결
__12.3 R-Value 레퍼런스를 이용한 퍼펙트 포워딩
__12.4 std::move
마무리하면서