下載地址:網盤下載c++
內容簡介 · · · · · ·
《深刻理解C++11:C++11新特性解析與應用》內容簡介:國內首本全面深刻解讀C++11新標準的專著,由C++標準委員會表明和IBM XL編譯器中國開發團隊共同撰寫。不只詳細闡述了C++11標準的設計原則,並且系統地講解了C++11新標準中的全部新語言特性、新標準庫特性、對原有特性的改進,以及如何應用全部這些新特性。程序員
《深刻理解C++11:C++11新特性解析與應用》一共8章:第1章從設計思惟和應用範疇兩個維度對C++11新標準中的全部特性進行了分類,呈現了C++11新特性的原貌;第2章講解了在保證與C語言和舊版C++標準充分兼容的原則下增長的一些新特性;第3章講解了具備普遍可用性、能與其餘已有的或者新增的特性結合起來使用的、具備普適性的一些新特性;第4章講解了C++11新標準對原有一些語言特性的改進,這些特性不只能讓C++變得更強大,還能提高程序員編寫代碼的效率;第5章講解了C++11在安全方面所作的改進,主要涵蓋枚舉類型安全和指針安全兩個方面的內容;第6章講解了爲了進一步提高和挖掘C++程序性能和讓C++能更好地適應各類新硬件的發展而設計的新特性,如多核、多線程、並行編程方面的新特性;第7章講解了一些顛覆C++一向設計思想的新特性,如lambda表達式等;第8章講解了C++11爲了解決C++編程中各類典型實際問題而作出的有效改進,如對Unicode的深刻支持等。附錄中則介紹了C++11標準與其餘相關標準的兼容性和區別、C++11中棄用的特性、編譯器對C++11的支持狀況,以及學習C++11的相關資源。編程
目錄 · · · · · ·
免責聲明
序
前言
第1章 新標準的誕生
1.1 曙光:c++11標準的誕生
1.1.1 c++11/c++0x(以及c11/c1x)—新標準誕生
1.1.2 什麼是c++11/c++0x
1.1.3 新c++語言的設計目標
1.2 今時今日的c++
1.2.1 c++的江湖地位
1.2.2 c++11語言變化的領域
1.3 c++11特性的分類
1.4 c++特性一覽
1.4.1 穩定性與兼容性之間的抉擇
1.4.2 更傾向於使用庫而不是擴展語言來實現特性
1.4.3 更傾向於通用的而不是特殊的手段來實現特性
1.4.4 專家新手一律支持
1.4.5 加強類型的安全性
1.4.6 與硬件緊密合做
1.4.7 開發可以改變人們思惟方式的特性
1.4.8 融入編程現實
1.5 本書的約定
1.5.1 關於一些術語的翻譯
1.5.2 關於代碼中的註釋
1.5.3 關於本書中的代碼示例與實驗平臺
第2章 保證穩定性和兼容性
2.1 保持與c99兼容
2.1.1 預約義宏
2.1.2 __func__預約義標識符
2.1.3 _pragma操做符
2.1.4 變長參數的宏定義以及__va_args__
2.1.5 寬窄字符串的鏈接
2.2 long long整型
2.3 擴展的整型
2.4 宏__cplusplus
2.5 靜態斷言
2.5.1 斷言:運行時與預處理時
2.5.2 靜態斷言與static_assert
2.6 noexcept修飾符與noexcept操做符
2.7 快速初始化成員變量
2.8 非靜態成員的sizeof
2.9 擴展的friend語法
2.10 final/override控制
2.11 模板函數的默認模板參數
2.12 外部模板
2.12.1 爲何須要外部模板
2.12.2 顯式的實例化與外部模板的聲明
2.13 局部和匿名類型做模板實參
2.14 本章小結
第3章 通用爲本,專用爲末
3.1 繼承構造函數
3.2 委派構造函數
3.3 右值引用:移動語義和完美轉發
3.3.1 指針成員與拷貝構造
3.3.2 移動語義
3.3.3 左值、右值與右值引用
3.3.4 std::move:強制轉化爲右值
3.3.5 移動語義的一些其餘問題
3.3.6 完美轉發
3.4 顯式轉換操做符
3.5 列表初始化
3.5.1 初始化列表
3.5.2 防止類型收窄
3.6 pod類型
3.7 非受限聯合體
3.8 用戶自定義字面量
3.9 內聯名字空間
3.10 模板的別名
3.11 通常化的sfinea規則
3.12 本章小結
第4章 新手易學,老兵易用
4.1 右尖括號>的改進
4.2 auto類型推導
4.2.1 靜態類型、動態類型與類型推導
4.2.2 auto的優點
4.2.3 auto的使用細則
4.3 decltype
4.3.1 typeid與decltype
4.3.2 decltype的應用
4.3.3 decltype推導四規則
4.3.4 cv限制符的繼承與冗餘的符號
4.4 追蹤返回類型
4.4.1 追蹤返回類型的引入
4.4.2 使用追蹤返回類型的函數
4.5 基於範圍的for循環
4.6 本章小結
第5章 提升類型安全
5.1 強類型枚舉
5.1.1 枚舉:分門別類與數值的名字
5.1.2 有缺陷的枚舉類型
5.1.3 強類型枚舉以及c++11對原有枚舉類型的擴展
5.2 堆內存管理:智能指針與垃圾回收
5.2.1 顯式內存管理
5.2.2 c++11的智能指針
5.2.3 垃圾回收的分類
5.2.4 c++與垃圾回收
5.2.5 c++11與最小垃圾回收支持
5.2.6 垃圾回收的兼容性
5.3 本章小結
第6章 提升性能及操做硬件的能力
6.1 常量表達式
6.1.1 運行時常量性與編譯時常量性
6.1.2 常量表達式函數
6.1.3 常量表達式值
6.1.4 常量表達式的其餘應用
6.2 變長模板
6.2.1 變長函數和變長的模板參數
6.2.2 變長模板:模板參數包和函數參數包
6.2.3 變長模板:進階
6.3 原子類型與原子操做
6.3.1 並行編程、多線程與c++11
6.3.2 原子操做與c++11原子類型
6.3.3 內存模型,順序一致性與memory_order
6.4 線程局部存儲
6.5 快速退出:quick_exit與at_quick_exit
6.6 本章小結
第7章 爲改變思考方式而改變
7.1 指針空值—nullptr
7.1.1 指針空值:從0到null,再到nullptr
7.1.2 nullptr和nullptr_t
7.1.3 一些關於nullptr規則的討論
7.2 默認函數的控制
7.2.1 類與默認函數
7.2.2 「= default」與「= deleted」
7.3 lambda函數
7.3.1 lambda的一些歷史
7.3.2 c++11中的lambda函數
7.3.3 lambda與仿函數
7.3.4 lambda的基礎使用
7.3.5 關於lambda的一些問題及有趣的實驗
7.3.6 lambda與stl
7.3.7 更多的一些關於lambda的討論
7.4 本章小結
第8章 融入實際應用
8.1 對齊支持
8.1.1 數據對齊
8.1.2 c++11的alignof和alignas
8.2 通用屬性
8.2.1 語言擴展到通用屬性
8.2.2 c++11的通用屬性
8.2.3 預約義的通用屬性
8.3 unicode支持
8.3.1 字符集、編碼和unicode
8.3.2 c++11中的unicode支持
8.3.3 關於unicode的庫支持
8.4 原生字符串字面量
8.5 本章小結
附錄a c++11對其餘標準的不兼容項目
附錄b 棄用的特性
附錄c 編譯器支持
附錄d 相關資源
下載地址:網盤下載安全