C++編程從入門到實(shí)踐 第2版
鏈接:https://pan.baidu.com/s/1HLDI7gR4MbdGaangOL1TAg?pwd=j53g?
提取碼:j53g

本書由淺入深地講解了C++開發(fā)技術(shù)的核心內(nèi)容,并通過具體實(shí)例演練了各個知識點(diǎn)在實(shí)踐中的具體使用方法。全書共23章:第1~2章講解了C++技術(shù)的基礎(chǔ)知識,包括C++的重要特性和開發(fā)環(huán)境搭建;第3~7章分別講解了C++語法、變量、常量、流程控制、運(yùn)算符和表達(dá)式等知識;第8~11章分別講解了輸入、輸出、函數(shù)、指針和復(fù)合類型的基本知識,包含了C++開發(fā)技術(shù)的重點(diǎn)和難點(diǎn);第12~20章分別講解了面向?qū)ο?、類、繼承、派生、多態(tài)、內(nèi)存管理和異常等內(nèi)容;第21~23章通過3個綜合實(shí)例,介紹了C++技術(shù)在綜合項(xiàng)目中的開發(fā)流程。全書內(nèi)容循序漸進(jìn),以“范例演練”和“技術(shù)解惑”貫穿全書,引領(lǐng)讀者全面掌握C++語言。
本書不但適合C++的初學(xué)者,也適合有一定C++基礎(chǔ)的讀者,還可以作為大專院校相關(guān)專業(yè)師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
作者簡介
王石磊,著名企業(yè)服務(wù)器事業(yè)部開發(fā)工程師,10多年C和C++開發(fā)經(jīng)驗(yàn),熟悉驅(qū)動開發(fā)、系統(tǒng)開發(fā),參與研發(fā)了單位的著名的系統(tǒng)開發(fā),這是中國**自主研發(fā)的云數(shù)據(jù)中心操作系統(tǒng),深度融合OpenStack,是開放、融合、安全的云數(shù)據(jù)中心操作系統(tǒng),支持最廣泛的異構(gòu)資源管理和跨云整合。
目錄
目 錄
第 1章 C++語言介紹 1
1.1 什么是C++ 2
1.1.1 C++的發(fā)展歷史 2
1.1.2 C++的優(yōu)點(diǎn)和缺點(diǎn) 2
1.2 C++語言的現(xiàn)狀 3
1.3 面向?qū)ο蟆?
1.4 標(biāo)準(zhǔn)庫介紹 4
第 2章 搭建C++開發(fā)環(huán)境 5
2.1 使用Visual C++ 6.0 6
2.1.1 Visual C++ 6.0的特點(diǎn) 6
2.1.2 安裝Visual C++ 6.0 6
2.2 使用Microsoft Visual Studio 9
2.2.1 Visual Studio 2017的
新功能 9
2.2.2 安裝Microsoft Visual
Studio 2017 10
2.3 編寫第 一個C++程序 12
2.3.1 使用Visual C++ 6.0
實(shí)現(xiàn) 13
2.3.2 使用Visual Studio 2017
實(shí)現(xiàn) 15
2.4 使用手機(jī)開發(fā)C++程序 17
2.4.1 GCC和C4droid 18
2.4.2 在手機(jī)中搭建C++開發(fā)
環(huán)境 18
2.4.3 在iPhone中使用
Mobile C/C++ 18
2.5 技術(shù)解惑 19
2.5.1 初學(xué)者經(jīng)常不知道自己
該學(xué)什么 19
2.5.2 初學(xué)者需要知道的正確
觀念 19
2.6 課后練習(xí) 19
第3章 C++語言開發(fā)基礎(chǔ) 20
3.1 面向?qū)ο蟆?1
3.1.1 兩種對象的產(chǎn)生方式 21
3.1.2 C++面向?qū)ο缶幊痰?br>流程 21
3.2 C++語言的程序結(jié)構(gòu) 21
3.2.1 初識C++程序結(jié)構(gòu) 21
3.2.2 看C++程序的文件組織 23
3.3 C++編碼規(guī)范 24
3.3.1 養(yǎng)成良好的風(fēng)格 24
3.3.2 必須使用的注釋 24
3.3.3 代碼也需要化妝 25
3.4 輸入和輸出 26
3.4.1 標(biāo)準(zhǔn)輸入與輸出對象 27
3.4.2 一個使用I/O庫的程序 27
3.4.3 使用using聲明命名空間 29
3.5 算法 30
3.5.1 算法的概念 30
3.5.2 流程圖表示算法 31
3.5.3 計(jì)算機(jī)語言表示算法 32
3.6 技術(shù)解惑 33
3.6.1 C++是面向?qū)ο?,C是面
向過程,那么這個對象和
過程是什么意思 33
3.6.2 面向?qū)ο蠛兔嫦蜻^程的
區(qū)別 33
3.6.3 學(xué)好C++的建議 34
3.7 課后練習(xí) 34
第4章 C++語言的基礎(chǔ)語法 35
4.1 標(biāo)識符 36
4.1.1 C++中的保留字 36
4.1.2 標(biāo)識符的命名規(guī)則 36
4.2 數(shù)據(jù)類型 38
4.2.1 數(shù)字運(yùn)算型 38
4.2.2 邏輯運(yùn)算型 41
4.2.3 字符型和字符串 42
4.3 標(biāo)準(zhǔn)類型庫 43
4.3.1 C++標(biāo)準(zhǔn)庫介紹 43
4.3.2 標(biāo)準(zhǔn)庫中的主要成員 44
4.4 技術(shù)解惑 45
4.4.1 C++的標(biāo)識符長度的
“min-length &&
max-information”原則 45
4.4.2 字符和字符串的區(qū)別 45
4.4.3 C++中string類字符串和
C中char*/char[]型
字符串的差別 45
4.4.4 C++字符串和C字符串的
轉(zhuǎn)換 45
4.4.5 C++字符串和字符串結(jié)束
標(biāo)志 46
4.5 課后練習(xí) 46
第5章 變量和常量 47
5.1 變量 48
5.1.1 定義變量 48
5.1.2 聲明變量 48
5.2 變量的作用域 49
5.2.1 作用域和生存期 49
5.2.2 作用域限定符 51
5.2.3 存儲類型 51
5.2.4 C++變量初始化 53
5.3 常量 54
5.3.1 什么是常量 54
5.3.2 使用常量 55
5.4 使用C++ 11標(biāo)準(zhǔn)處理復(fù)雜的
類型 56
5.4.1 定義類型別名 56
5.4.2 使用auto實(shí)現(xiàn)類型推導(dǎo) 57
5.4.3 使用decltype推導(dǎo)類型 58
5.4.4 使用常量表達(dá)式 59
5.5 技術(shù)解惑 60
5.5.1 C++常量的命名是否需要
遵循一定的規(guī)范 60
5.5.2 在C++程序中用const還是
用#define定義常量 60
5.5.3 const是個很重要的
關(guān)鍵字,在使用時應(yīng)該
注意哪些 60
5.5.4 關(guān)于全局變量的初始化,
C語言和C++是否有
區(qū)別 61
5.5.5 C/C++變量在內(nèi)存中的
分布 61
5.5.6 靜態(tài)變量的初始化順序 61
5.6 課后練習(xí) 61
第6章 運(yùn)算符和表達(dá)式 62
6.1 運(yùn)算符和表達(dá)式詳解 63
6.1.1 賦值運(yùn)算符和賦值
表達(dá)式 63
6.1.2 算術(shù)運(yùn)算符和算術(shù)
表達(dá)式 64
6.1.3 比較運(yùn)算符和比較
表達(dá)式 66
6.1.4 邏輯運(yùn)算符和邏輯
表達(dá)式 67
6.1.5 ++/ 運(yùn)算符和表達(dá)式 67
6.1.6 位運(yùn)算符和位表達(dá)式 68
6.1.7 求字節(jié)數(shù)運(yùn)算符和
求字節(jié)表達(dá)式 70
6.1.8 條件運(yùn)算符和條件
表達(dá)式 72
6.1.9 逗號運(yùn)算符和逗號
表達(dá)式 72
6.1.10 運(yùn)算符的優(yōu)先級和
結(jié)合性 73
6.2 類型轉(zhuǎn)換 76
6.2.1 使用隱式轉(zhuǎn)換 76
6.2.2 使用顯式轉(zhuǎn)換 77
6.3 技術(shù)解惑 81
6.3.1 避免運(yùn)算結(jié)果溢出的
一個方案 81
6.3.2 運(yùn)算符重載的權(quán)衡 81
6.3.3 運(yùn)算符重載是對已有
運(yùn)算符賦予多重含義 81
6.4 課后練習(xí) 82
第7章 流程控制語句 83
7.1 語句和語句塊 84
7.1.1 最簡單的語句 84
7.1.2 語句塊 84
7.2 順序結(jié)構(gòu) 86
7.3 選擇結(jié)構(gòu) 86
7.3.1 單分支結(jié)構(gòu)語句 87
7.3.2 雙分支結(jié)構(gòu)語句 87
7.3.3 使用多分支結(jié)構(gòu)語句 90
7.4 循環(huán)結(jié)構(gòu)詳解 91
7.4.1 循環(huán)語句的形式 92
7.4.2 for語句循環(huán) 92
7.4.3 使用while語句 94
7.4.4 使用do-while語句 95
7.5 使用跳轉(zhuǎn)語句 96
7.5.1 使用break語句 96
7.5.2 使用continue語句 97
7.5.3 使用goto語句 97
7.6 C++ 11新規(guī)范:基于范圍的
for循環(huán)語句 98
7.7 技術(shù)解惑 99
7.7.1 循環(huán)中斷的問題 99
7.7.2 分析循環(huán)語句的效率 100
7.7.3 幾種循環(huán)語句的比較 100
7.7.4 C++中的for循環(huán)該
怎么讀 100
7.7.5 一個C++循環(huán)結(jié)構(gòu)
嵌套的問題 100
7.7.6 break語句和continue
語句的區(qū)別 101
7.8 課后練習(xí) 101
第8章 指針 102
8.1 指針的基本概念 103
8.2 定義指針 103
8.2.1 定義指針的方式 103
8.2.2 識別指針 104
8.2.3 指針的分類 104
8.3 指針的初始化 105
8.3.1 指針初始化時的類型 106
8.3.2 指針地址初始化 106
8.3.3 變量地址初始化 106
8.3.4 使用new分配內(nèi)存單元 107
8.3.5 使用函數(shù)malloc分配
內(nèi)存單元 107
8.4 指針運(yùn)算 108
8.4.1 算術(shù)運(yùn)算 108
8.4.2 關(guān)系運(yùn)算 110
8.5 指針的指針 112
8.6 使用指針 113
8.6.1 指針賦值 114
8.6.2 使用“*”操作符 114
8.7 分析指針和引用的關(guān)系 115
8.8 特殊指針 117
8.8.1 void型指針 118
8.8.2 空指針 119
8.8.3 C++ 11:使用nullptr
得到空指針 120
8.9 C++ 11:使用標(biāo)準(zhǔn)庫函數(shù)
begin和end 120
8.10 技術(shù)解惑 121
8.10.1 指針的命名規(guī)范 121
8.10.2 指針和引用的區(qū)別 122
8.10.3 變量的實(shí)質(zhì) 123
8.10.4 避免和解決野指針 123
8.10.5 常量指針常量和常量
引用常量 125
8.10.6 指針常量和引用常量的
對比 125
8.10.7 常量指針和常量引用的
對比 125
8.11 課后練習(xí) 126
第9章 數(shù)組、枚舉、結(jié)構(gòu)體和聯(lián)合 127
9.1 使用數(shù)組 128
9.1.1 定義數(shù)組 128
9.1.2 高級數(shù)組 129
9.1.3 分析數(shù)組的完整性 130
9.2 動態(tài)數(shù)組 131
9.2.1 在堆上分配空間的
動態(tài)數(shù)組 131
9.2.2 在棧上分配空間的
“假動態(tài)”數(shù)組 132
9.3 字符數(shù)組 133
9.3.1 定義字符數(shù)組 133
9.3.2 字符數(shù)組和字符串指針
變量 134
9.4 數(shù)組初始化 135
9.4.1 定義時的初始化 135
9.4.2 初始化賦值語句 136
9.5 指針和數(shù)組 137
9.5.1 基本原理 137
9.5.2 指向數(shù)組的指針 137
9.5.3 指針數(shù)組 138
9.6 枚舉 139
9.6.1 枚舉基礎(chǔ) 139
9.6.2 使用枚舉 140
9.7 結(jié)構(gòu)體 141
9.7.1 定義結(jié)構(gòu)體 142
9.7.2 指向結(jié)構(gòu)體的指針 142
9.7.3 使用結(jié)構(gòu)體 143
9.8 聯(lián)合 144
9.9 C++ 11新特性:數(shù)組的
替代品——array 145
9.10 技術(shù)解惑 146
9.10.1 字符數(shù)組和字符串的
區(qū)別 146
9.10.2 字符數(shù)組和字符串可以
相互轉(zhuǎn)換 147
9.10.3 靜態(tài)數(shù)組的速度快于
動態(tài)數(shù)組 147
9.10.4 Arrays與Vector的
區(qū)別 147
9.10.5 一道關(guān)于數(shù)組的
面試題 147
9.10.6 數(shù)組名不是指針 149
9.10.7 作為一個用戶自定義
類型,其所占用內(nèi)存
空間是多少 149
9.11 課后練習(xí) 150
第 10章 函數(shù) 151
10.1 函數(shù)基礎(chǔ) 152
10.1.1 定義函數(shù) 152
10.1.2 函數(shù)分類 153
10.2 參數(shù)和返回值 158
10.2.1 什么是形參實(shí)參 158
10.2.2 使用數(shù)組作函數(shù)
參數(shù) 159
10.3 調(diào)用函數(shù) 160
10.3.1 單獨(dú)調(diào)用 160
10.3.2 函數(shù)表達(dá)式 160
10.3.3 調(diào)用實(shí)參 161
10.3.4 參數(shù)傳遞 161
10.4 函數(shù)的基本操作 162
10.4.1 函數(shù)遞歸 162
10.4.2 指向函數(shù)的指針 163
10.4.3 將函數(shù)作為參數(shù) 164
10.5 技術(shù)解惑 165
10.5.1 用typedef定義一個函數(shù)
指針類型 165
10.5.2 const關(guān)鍵字在函數(shù)中的
作用 166
10.5.3 C++函數(shù)的內(nèi)存分配
機(jī)制 167
10.5.4 主函數(shù)和子函數(shù)的
關(guān)系 167
10.5.5 函數(shù)聲明和函數(shù)定義的
區(qū)別 168
10.5.6 使用全局變量的
注意事項(xiàng) 168
10.5.7 使用寄存器變量的
注意事項(xiàng) 168
10.5.8 自動變量的特點(diǎn) 169
10.6 課后練習(xí) 169