C++17從入門到精通

C++17從入門到精通

《C++17從入門到精通》是2019年清華大學出版社出版的一本圖書,作者是董洪偉。

基本介紹

  • 中文名:C++17從入門到精通
  • 作者:董洪偉
  • 出版時間:2009年8月1日
  • 出版社清華大學出版社
  • ISBN:9787302527435
  • 定價:79 元
  • 印刷日期:2019年7月9日 
  • 印次:1-1
圖書內容,目錄,

圖書內容

本書以簡明扼要的語言、配合豐富的實例,針對初學者從最基礎的變數、表達式、數組、指針、引用和函式等,到面向對象的類和對象、繼承與派生、虛函式與多態,從泛型編程的函式模板和類模板到移動語義、頭等函式(函式指針、函式對象、Lambda表達式),從C ++ 標準庫的輸入輸出流庫、容器、疊代器、算法、智慧型指針等工具到異常處理和RAII等,由淺入深地對最新的C++17標準語法進行了系統的講解。對一些關鍵的語法概念如函式、類與對象、派生類等內容,提供了遊戲編程、信息管理、數據結構、機器學習、人工智慧等學科領域的一些經典的、實際問題的實戰演練,以加強讀者將語法知識用於解決各種實際問題和進行實際編程能力的訓練,讓讀者領悟和體會C++語言的靈活運用。

目錄

第1章C++介紹
1.1程式與程式語言
1.1.1計算機是什麼
1.1.2計算機編程
1.1.3編譯器、解釋器和C++語言
1.1.4C++語言介紹
1.1.5C++程式開發步驟
1.2C++程式結構
1.2.1最簡單的C++程式
1.2.2函式
1.2.3語句
1.2.4程式注釋
1.2.5helloworld程式
1.2.6標準輸入輸出庫和cout
1.2.7名字空間
1.2.8字元串和字元
1.2.9運算符和運算數
1.2.10宏定義#define
1.2.11變數
1.2.12標準輸入流對象cin
1.2.13用戶定義類型
1.3數和字元的表示
1.3.1數的表示
1.3.2字元的表示
1.4編譯、執行C++程式
1.5習題
第2章變數和類型
2.1變數
2.1.1變數的定義及初始化
2.1.2auto
2.1.3typeid運算符
2.1.4decltype
2.1.6const
2.1.7標識符、關鍵字、文字量
2.2數據類型
2.2.1基本類型
2.2.2sizeof運算符
2.2.3文字量
2.2.4格式化輸出
2.2.5類型轉換
2.2.6類型別名
2.2.7枚舉
2.3局部變數與全局變數、變數的作用域與生命期
2.3.1程式塊、局部變數和全局變數
2.3.2作用域和生命期
2.4習題
第3章運算符與表達式
3.1運算符
3.1.1運算符的分類
3.1.2優先權和結合性
3.2表達式
3.3.1算術運算符需要注意的幾個問題
3.3.2自增++和自減--
3.3.3數學計算函式館cmath
3.4位運算
3.8特殊運算符
3.9習題
第4章語句
4.1簡單語句、複合語句和控制語句
4.1.1簡單語句
4.1.2複合語句
4.1.3控制語句
4.2條件語句
4.2.1if語句
4.2.2switch語句
4.2.3if/switch語句中的初始化語句
4.3循環語句
4.3.1while語句
4.3.2for語句
4.4跳轉語句
4.5實戰:控制台遊戲——Pong遊戲
4.5.1Pong遊戲
4.5.2初始化
4.5.3繪製場景
4.5.4讓球動起來
4.5.5事件處理:用擋板擊打球
4.6習題
第5章複合類型:數組、指針和引用
5.1引用
5.2指針
5.2.1指針類型
5.2.2指針的其他運算
5.2.3void*無類型指針
5.2.4指針的指針
5.2.5指針的引用
5.2.6引用和指針的比較
5.3數組
5.3.1數組和下標運算符
5.3.2複雜的數組聲明
5.3.3C風格字元串
5.3.4指針訪問數組
5.3.5rangefor
5.3.6多維數組
5.4動態記憶體
5.4.1程式堆疊區
5.4.2new和delete運算符
5.4.3動態記憶體表示多維數組
5.5const修飾符
5.5.1const和指針
5.5.2const對象的引用
5.6實戰:查找、排序、最短路徑
5.6.1二分查找
5.6.2排序:冒泡、選擇
5.6.3Floyd最短路徑算法
5.7習題
第6章函式
6.1函式是命名的程式塊
6.1.1最大公約數
6.1.2函式的定義
6.2靜態變數
6.3函式的形參
6.3.1參數傳遞
6.3.2默認參數
6.3.3數組作為形參
6.3.4const與形參
6.3.5可變數目的形參
6.4遞歸函式:調用自身的函式
6.4.1遞歸和遞歸函式
6.4.2實戰:二分查找的遞歸實現
6.4.3實戰:漢諾塔問題
6.4.4實戰:快速排序算法
6.4.5實戰:迷宮問題
6.5函式重載與重載解析
6.5.1函式重載
6.5.2重載解析
6.5.3const對象的引用或指針
6.6inline函式
6.7constexpr
6.8實戰:二維字元圖形庫ChGL
6.8.1如何在字元終端上繪圖
6.8.2字元圖形庫ChGL
6.8.3曲線繪製API函式plot()
6.9實戰:基於ChGL的控制台遊戲
6.9.1遊戲程式的框架
6.9.2用ChGL和函式重寫Pong遊戲
6.10實戰:機器學習線性回歸
6.10.1機器學習
6.10.2假設函式、回歸和分類
6.10.3線性回歸
6.10.4多變數函式的最小值、正規方程
6.10.5梯度下降法
6.10.6梯度下降法求解線性回歸問題:模擬數據
6.10.7批梯度下降法
6.10.8房屋價格預測
6.10.9樣本特徵的規範化
6.10.10預測房屋價格
6.11習題
第7章類和對象
7.1面向對象編程
7.2類
7.2.1定義一個類
7.2.2定義類的對象(變數)
7.2.3成員函式
7.2.4this指針
7.2.5類對象的大小
7.3構造函式
7.3.1創建類對象的構造函式
7.3.2初始化成員列表
7.3.4賦值運算符:operator=
7.3.5隱式類型轉換、explicit
7.3.6委託構造函式
7.3.7delete
7.3.8類對象數組
7.3.9類體外定義成員函式和構造函式
7.4訪問控制和接口
7.5const對象、const成員函式、mutable成員變數
7.5.1const對象和const成員函式
7.5.2重載const
7.5.3mutable成員變數
7.6析構函式
7.7靜態成員
7.7.1非靜態成員變數和靜態成員變數
7.7.2靜態常量
7.7.3靜態成員函式
7.7.4類自身類型的靜態成員變數
7.8友元
7.9內聯成員函式
7.10重新定義拷貝構造函式和賦值運算符函式
7.11實戰:線性表及套用
7.11.1線性表
7.11.2線性表的順序實現:順序表
7.11.3線性表的鏈式實現:鍊表
7.11.4實現一個圖書管理的程式
7.12實戰:面向對象遊戲——基於鍊表的貪吃蛇遊戲
7.12.1面向對象遊戲引擎
7.12.2貪吃蛇遊戲
7.13習題
第8章運算符重載
8.1運算符重載的2種方式
8.2賦值運算符=
8.3下標運算符[]
8.4輸入輸出運算符
8.5比較運算符
8.6函式調用運算符()
8.7類型轉換運算符
8.8自增和自減運算符
8.9可以重載的運算符
8.10實戰:矩陣
8.11習題
第9章派生類
9.1繼承與派生
9.1.1繼承關係和派生類
9.1.2isa和belongto
9.1.3派生類的定義
9.1.4成員的隱藏
9.1.5繼承方式
9.1.6基類指針和派生類指針
9.2派生類的構造函式和析構函式
9.3多繼承和虛基類
9.3.1多繼承
9.3.2虛基類
9.4多態
9.4.1對象的切割和類型轉換
9.4.2基類指針(引用)和向下類型轉換
9.4.3虛函式和多態
9.4.4虛函式的一些語法規則
9.4.5基類指針數組
9.4.6虛析構函式
9.4.7純虛函式和抽象類
9.5實戰:仿“雷電戰機”遊戲
9.5.1精靈
9.5.2遊戲引擎GameEngine
9.5.3碰撞檢測和精靈的銷毀
9.5.4讓敵方戰機運動和發射子彈
9.6習題
第10章模板
10.1函式模板
10.1.1函式模板的定義與實例化
10.1.2模板參數推斷
10.1.3模板專門化
10.1.4函式模板和重載
10.1.5模板的返回類型推斷
10.1.6非類型模板參數
10.1.7模板模板參數
10.1.8模板參數的默認值
10.1.9可變模板參數
10.1.10constexprif
10.2類模板
10.2.1標準庫類模板vector
10.2.2類模板Vector
10.2.3定義類模板的成員函式
10.2.4類模板的模板參數推斷
10.2.5類模板的專門化
10.2.6類模板的友元
10.2.7類模板std∷initializer_list
10.3實戰:強化學習QLearning求解最佳路徑
10.3.1強化學習
10.3.2QLearning
10.3.3QLearning的C++實現
10.4習題
第11章移動語義
11.1左值和右值
11.1.1左值和右值概述
11.1.2左值和右值的轉換
11.1.3左值引用和右值引用
11.2移動
11.2.1複製和移動
11.2.2移動構造函式
11.2.3移動賦值運算符函式
11.2.4std∷move
11.2.5右值引用
11.2.6push_back()
11.3習題
第12章函式指針、函式對象、Lambda表達式
12.1函式指針
12.1.1函式類型和函式指針類型
12.1.2給函式指針類型起別名
12.1.3函式指針作為其他函式的參數
12.2函式對象
12.3Lambda表達式
12.3.1定義和使用Lambda表達式
12.3.2捕獲子句
12.3.3返回類型
12.3.4Lambda表達式的實質
12.4std∷function
12.5std∷bind
12.6習題
第13章C++標準庫介紹
13.1輸入輸出流庫
13.1.1C++的I/O流庫
13.1.2格式化輸入輸出
13.1.3非格式化輸入輸出
13.1.4檔案位置
13.1.5流狀態
13.1.6管理輸出緩衝區
13.1.7檔案輸入輸出
13.1.8字元串流
13.2容器
13.2.1標準容器
13.2.2序列容器
13.2.3容器適配器
13.2.4關聯容器
13.3疊代器
13.3.1疊代器及其分類
13.3.2疊代器適配器
13.3.3數組、字元串和疊代器
13.4算法
13.4.1自定義通用算法
13.4.2策略參數
13.4.3標準庫的常用算法
13.5智慧型指針
13.5.1raw指針和智慧型指針
13.5.2unique_ptr
13.5.3shared_ptr
13.5.4weak_ptr
13.6字元串
13.6.1字元:cctype、cwctype
13.6.2C風格字元串
13.6.3C++的字元串
13.7習題
第14章異常處理
14.1錯誤和異常處理
14.1.1錯誤的分類
14.1.2傳統的錯誤處理方法
14.1.3C++的異常處理
14.2throw、try、catch
14.2.1throw
14.2.2try、catch
14.2.3異常類型的匹配
14.3堆疊展開和RAII
14.3.1堆疊展開
14.3.2資源獲取即初始化
14.4習題
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻
參考文獻

相關詞條

熱門詞條

聯絡我們