-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
6/20 新書到! 5/31 新書到! 5/24 新書到! 5/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

C++編程從入門到實踐 第2版

( 簡體 字)
作者:王石磊類別:1. -> 程式設計 -> C++ -> C++
譯者:
出版社:人民郵電出版社C++編程從入門到實踐 第2版 3dWoo書號: 54193
詢問書籍請說出此書號!

有庫存
NT售價: 495

出版日:3/1/2021
頁數:380
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115539694
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書由淺入深地講解了C++開發技術的核心內容,并通過具體實例演練了各個知識點在實踐中的具體使用方法。全書共23章:第1∼2章講解了C++技術的基礎知識,包括C++的重要特性和開發環境搭建;第3∼7章分別講解了C++語法、變量、常量、流程控制、運算符和表達式等知識;第8∼11章分別講解了輸入、輸出、函數、指針和復合類型的基本知識,包含了C++開發技術的重點和難點;第12∼20章分別講解了面向對象、類、繼承、派生、多態、內存管理和異常等內容;第21∼23章通過3個綜合實例,介紹了C++技術在綜合項目中的開發流程。全書內容循序漸進,以“范例演練”和“技術解惑”貫穿全書,引領讀者全面掌握C++語言。
本書不但適合C++的初學者,也適合有一定C++基礎的讀者,還可以作為大專院校相關專業師生的學習用書和培訓學校的教材。
目錄:

第 1章 C++語言介紹 1
1.1 什么是C++ 2
1.1.1 C++的發展歷史 2
1.1.2 C++的優點和缺點 2
1.2 C++語言的現狀 3
1.3 面向對象 4
1.4 標準庫介紹 4
第 2章 搭建C++開發環境 5
2.1 使用Visual C++ 6.0 6
2.1.1 Visual C++ 6.0的特點 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
實現 13
2.3.2 使用Visual Studio 2017
實現 15
2.4 使用手機開發C++程序 17
2.4.1 GCC和C4droid 18
2.4.2 在手機中搭建C++開發
環境 18
2.4.3 在iPhone中使用
Mobile C/C++ 18
2.5 技術解惑 19
2.5.1 初學者經常不知道自己
該學什么 19
2.5.2 初學者需要知道的正確
觀念 19
2.6 課后練習 19
第3章 C++語言開發基礎 20
3.1 面向對象 21
3.1.1 兩種對象的產生方式 21
3.1.2 C++面向對象編程的
流程 21
3.2 C++語言的程序結構 21
3.2.1 初識C++程序結構 21
3.2.2 看C++程序的文件組織 23
3.3 C++編碼規范 24
3.3.1 養成良好的風格 24
3.3.2 必須使用的注釋 24
3.3.3 代碼也需要化妝 25
3.4 輸入和輸出 26
3.4.1 標準輸入與輸出對象 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 計算機語言表示算法 32
3.6 技術解惑 33
3.6.1 C++是面向對象,C是面
向過程,那么這個對象和
過程是什么意思 33
3.6.2 面向對象和面向過程的
區別 33
3.6.3 學好C++的建議 34
3.7 課后練習 34
第4章 C++語言的基礎語法 35
4.1 標識符 36
4.1.1 C++中的保留字 36
4.1.2 標識符的命名規則 36
4.2 數據類型 38
4.2.1 數字運算型 38
4.2.2 邏輯運算型 41
4.2.3 字符型和字符串 42
4.3 標準類型庫 43
4.3.1 C++標準庫介紹 43
4.3.2 標準庫中的主要成員 44
4.4 技術解惑 45
4.4.1 C++的標識符長度的
“min-length &&
max-information”原則 45
4.4.2 字符和字符串的區別 45
4.4.3 C++中string類字符串和
C中char*/char[]型
字符串的差別 45
4.4.4 C++字符串和C字符串的
轉換 45
4.4.5 C++字符串和字符串結束
標志 46
4.5 課后練習 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標準處理復雜的
類型 56
5.4.1 定義類型別名 56
5.4.2 使用auto實現類型推導 57
5.4.3 使用decltype推導類型 58
5.4.4 使用常量表達式 59
5.5 技術解惑 60
5.5.1 C++常量的命名是否需要
遵循一定的規范 60
5.5.2 在C++程序中用const還是
用#define定義常量 60
5.5.3 const是個很重要的
關鍵字,在使用時應該
注意哪些 60
5.5.4 關于全局變量的初始化,
C語言和C++是否有
區別 61
5.5.5 C/C++變量在內存中的
分布 61
5.5.6 靜態變量的初始化順序 61
5.6 課后練習 61
第6章 運算符和表達式 62
6.1 運算符和表達式詳解 63
6.1.1 賦值運算符和賦值
表達式 63
6.1.2 算術運算符和算術
表達式 64
6.1.3 比較運算符和比較
表達式 66
6.1.4 邏輯運算符和邏輯
表達式 67
6.1.5 ++/ 運算符和表達式 67
6.1.6 位運算符和位表達式 68
6.1.7 求字節數運算符和
求字節表達式 70
6.1.8 條件運算符和條件
表達式 72
6.1.9 逗號運算符和逗號
表達式 72
6.1.10 運算符的優先級和
結合性 73
6.2 類型轉換 76
6.2.1 使用隱式轉換 76
6.2.2 使用顯式轉換 77
6.3 技術解惑 81
6.3.1 避免運算結果溢出的
一個方案 81
6.3.2 運算符重載的權衡 81
6.3.3 運算符重載是對已有
運算符賦予多重含義 81
6.4 課后練習 82
第7章 流程控制語句 83
7.1 語句和語句塊 84
7.1.1 最簡單的語句 84
7.1.2 語句塊 84
7.2 順序結構 86
7.3 選擇結構 86
7.3.1 單分支結構語句 87
7.3.2 雙分支結構語句 87
7.3.3 使用多分支結構語句 90
7.4 循環結構詳解 91
7.4.1 循環語句的形式 92
7.4.2 for語句循環 92
7.4.3 使用while語句 94
7.4.4 使用do-while語句 95
7.5 使用跳轉語句 96
7.5.1 使用break語句 96
7.5.2 使用continue語句 97
7.5.3 使用goto語句 97
7.6 C++ 11新規范:基于范圍的
for循環語句 98
7.7 技術解惑 99
7.7.1 循環中斷的問題 99
7.7.2 分析循環語句的效率 100
7.7.3 幾種循環語句的比較 100
7.7.4 C++中的for循環該
怎么讀 100
7.7.5 一個C++循環結構
嵌套的問題 100
7.7.6 break語句和continue
語句的區別 101
7.8 課后練習 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分配內存單元 107
8.3.5 使用函數malloc分配
內存單元 107
8.4 指針運算 108
8.4.1 算術運算 108
8.4.2 關系運算 110
8.5 指針的指針 112
8.6 使用指針 113
8.6.1 指針賦值 114
8.6.2 使用“*”操作符 114
8.7 分析指針和引用的關系 115
8.8 特殊指針 117
8.8.1 void型指針 118
8.8.2 空指針 119
8.8.3 C++ 11:使用nullptr
得到空指針 120
8.9 C++ 11:使用標準庫函數
begin和end 120
8.10 技術解惑 121
8.10.1 指針的命名規范 121
8.10.2 指針和引用的區別 122
8.10.3 變量的實質 123
8.10.4 避免和解決野指針 123
8.10.5 常量指針常量和常量
引用常量 125
8.10.6 指針常量和引用常量的
對比 125
8.10.7 常量指針和常量引用的
對比 125
8.11 課后練習 126
第9章 數組、枚舉、結構體和聯合 127
9.1 使用數組 128
9.1.1 定義數組 128
9.1.2 高級數組 129
9.1.3 分析數組的完整性 130
9.2 動態數組 131
9.2.1 在堆上分配空間的
動態數組 131
9.2.2 在棧上分配空間的
“假動態”數組 132
9.3 字符數組 133
9.3.1 定義字符數組 133
9.3.2 字符數組和字符串指針
變量 134
9.4 數組初始化 135
9.4.1 定義時的初始化 135
9.4.2 初始化賦值語句 136
9.5 指針和數組 137
9.5.1 基本原理 137
9.5.2 指向數組的指針 137
9.5.3 指針數組 138
9.6 枚舉 139
9.6.1 枚舉基礎 139
9.6.2 使用枚舉 140
9.7 結構體 141
9.7.1 定義結構體 142
9.7.2 指向結構體的指針 142
9.7.3 使用結構體 143
9.8 聯合 144
9.9 C++ 11新特性:數組的
替代品——array 145
9.10 技術解惑 146
9.10.1 字符數組和字符串的
區別 146
9.10.2 字符數組和字符串可以
相互轉換 147
9.10.3 靜態數組的速度快于
動態數組 147
9.10.4 Arrays與Vector的
區別 147
9.10.5 一道關于數組的
面試題 147
9.10.6 數組名不是指針 149
9.10.7 作為一個用戶自定義
類型,其所占用內存
空間是多少 149
9.11 課后練習 150
第 10章 函數 151
10.1 函數基礎 152
10.1.1 定義函數 152
10.1.2 函數分類 153
10.2 參數和返回值 158
10.2.1 什么是形參實參 158
10.2.2 使用數組作函數
參數 159
10.3 調用函數 160
10.3.1 單獨調用 160
10.3.2 函數表達式 160
10.3.3 調用實參 161
10.3.4 參數傳遞 161
10.4 函數的基本操作 162
10.4.1 函數遞歸 162
10.4.2 指向函數的指針 163
10.4.3 將函數作為參數 164
10.5 技術解惑 165
10.5.1 用typedef定義一個函數
指針類型 165
10.5.2 const關鍵字在函數中的
作用 166
10.5.3 C++函數的內存分配
機制 167
10.5.4 主函數和子函數的
關系 167
10.5.5 函數聲明和函數定義的
區別 168
10.5.6 使用全局變量的
注意事項 168
10.5.7 使用寄存器變量的
注意事項 168
10.5.8 自動變量的特點 169
10.6 課后練習 169
第 11章 輸入和輸出 170
11.1 使用iostream對象 171
11.1.1 庫iostream的作用 171
11.1.2 標準的I/O接口 171
11.1.3 文件I/O 173
11.1.4 字符串I/O 174
11.2 輸出 175
11.2.1 預定義類型輸出 175
11.2.2 自定義類型輸出 176
11.3 輸入 177
11.3.1 預定義類型輸入 177
11.3.2 自定義類型輸入 177
11.4 輸入/輸出的格式化 178
11.4.1 使用ios類成員函數 179
11.4.2 使用操縱函數 180
11.5 文件操作 181
11.5.1 打開和關閉 181
11.5.2 隨機讀寫 183
11.5.3 二進制文件 184
11.5.4 檢測EOF 185
11.6 技術解惑 187
11.6.1 輸入/輸出時數的
進制問題 187
11.6.2 數據間隔 187
11.6.3 內存文件映射 188
11.6.4 get和put的值的
差異 188
11.6.5 使用控制符控制輸出
格式 188
11.7 課后練習 189
第 12章 面向對象的類和對象 190
12.1 類 191
12.1.1 聲明類 191
12.1.2 類的屬性 192
12.1.3 類的方法 192
12.1.4 構造函數 193
12.1.5 析構函數 194
12.1.6 靜態成員 195
12.1.7 友元 196
12.1.8 使用修飾符 198
12.2 對象 199
12.2.1 定義對象 199
12.2.2 對象數組 200
12.2.3 對象指針 201
12.2.4 使用this指針 201
12.3 C++ 11標準的新變化 203
12.3.1 定義一個類內初始值 203
12.3.2 使用initializer_list
處理多個實參 204
12.4 技術解惑 208
12.4.1 淺復制和深復制 208
12.4.2 構造函數的錯誤認識和
正確認識 209
12.4.3 保護性析構函數的
作用 209
12.5 課后練習 210
第 13章 命名空間和作用域 211
13.1 命名空間基礎 212
13.1.1 命名空間介紹 212
13.1.2 定義命名空間 212
13.2 使用命名空間 214
13.2.1 使用域限定符 214
13.2.2 使用using指令 215
13.2.3 使用using聲明 216
13.2.4 使用別名 216
13.3 作用域 217
13.3.1 與作用域相關的概念 217
13.3.2 作用域的分類 218
13.4 技術解惑 220
13.4.1 using指令與using
聲明的比較 220
13.4.2 為什么需要命名空間 220
13.4.3 命名空間的作用 221
13.4.4 C++中頭文件的使用
方法 222
13.5 課后練習 222
第 14章 繼承和派生 223
14.1 繼承與派生基礎 224
14.2 C++的繼承機制 224
14.2.1 定義繼承 224
14.2.2 派生類的繼承方式 226
14.2.3 公有派生和私有派生 227
14.3 派生類 228
14.3.1 使用基類 228
14.3.2 使用派生 228
14.3.3 構造函數 230
14.3.4 析構函數 232
14.3.5 使用同名函數 233
14.3.6 使用同名屬性 235
14.4 單重繼承和多重繼承 236
14.4.1 單重繼承 236
14.4.2 多重繼承 236
14.4.3 多重繼承下的構造
函數和析構函數 237
14.5 虛繼承和虛基類 239
14.5.1 虛基類介紹 240
14.5.2 使用虛基類 240
14.6 技術解惑 241
14.6.1 通過虛繼承解決二義性
問題 241
14.6.2 使用C++虛基類的
注意事項 242
14.6.3 虛基類的子對象的
初始化 243
14.6.4 允許派生類中的成員名與
基類中的成員名相同 243
14.7 課后練習 243
第 15章 多態 244
15.1 什么是多態 245
15.2 宏多態 245
15.3 虛函數 246
15.3.1 虛函數基礎 246
15.3.2 純虛函數 248
15.4 抽象類 249
15.4.1 什么是抽象類 249
15.4.2 抽象類的派生 249
15.5 運算符重載和函數重載 251
15.5.1 運算符重載基礎 251
15.5.2 重載一元運算符 251
15.5.3 重載二元運算符 252
15.5.4 參數類型不同的重載 253
15.6 流的重載 254
15.6.1 流插入重載 254
15.6.2 流提取重載 255
15.7 覆蓋 257
15.7.1 覆蓋函數 257
15.7.2 覆蓋變量 258
15.8 技術解惑 259
15.8.1 重載、覆蓋和隱藏的
區別 259
15.8.2 在重載運算符時要權衡
實施的必要性 260
15.8.3 為什么需要函數重載 260
15.8.4 重載函數的調用匹配 260
15.8.5 另一種虛方法查找
方案 261
15.8.6 兩種重載方法的比較 262
15.9 課后練習 262
第 16章 使用模板 263
16.1 模板基礎 264
16.2 類模板 265
16.2.1 什么是類模板 265
16.2.2 定義類模板 265
16.2.3 使用類模板 266
16.2.4 類模板的派生 268
16.2.5 類模板和模板類的
區別 268
16.3 函數模板 270
16.3.1 定義函數模板 270
16.3.2 使用函數模板 271
16.3.3 模板實例化 271
16.3.4 模板組合 273
16.4 技術解惑 273
16.4.1 在函數模板中使用多個
類型參數時要避免類型
參數的二義性 273
16.4.2 函數模板和模板函數的
區別 274
16.4.3 函數模板和類模板的
區別 274
16.4.4 仿函數的用處 275
16.5 課后練習 275
第 17章 異常處理 276
17.1 什么是異常處理 277
17.2 C++的異常處理 277
17.2.1 使用throw拋出異常 277
17.2.2 使用raise拋出異常 279
17.2.3 使用try catch異常
捕獲 279
17.2.4 異常處理中的構造和
析構 281
17.3 C++的異常處理總結 282
17.4 技術解惑 284
17.4.1 編寫軟件的目標 284
17.4.2 關于C++關鍵字new的
異常處理 284
17.4.3 C++語言異常處理和
結構化異常處理有
什么區別 285
17.4.4 C++拋出異常不捕獲,
程序的空間會釋放嗎 285
17.4.5 throw拋出異常的
特點 286
17.4.6 關于C++異常處理的
體會 286
17.4.7 慎用catch(...) 286
17.4.8 慎用繼承體系里的
類作為catch的參數 287
17.4.9 對象析構函數被調用的
3種場合 287
17.4.10 不要在異常處理體系中
寄希望于類型轉換 287
17.4.11 是否有C++異常處理
體系捕獲不到的東西 288
17.4.12 set_unexpected函數的
用處 288
17.4.13 不要讓異常逃離析構
函數 289
17.5 課后練習 289
第 18章 內存管理 290
18.1 內存分類 291
18.2 棧內存管理 291
18.2.1 申請棧內存 291
18.2.2 使用棧內存 292
18.2.3 釋放棧內存 294
18.2.4 改變內存大小 294
18.3 堆內存管理 295
18.3.1 申請堆內存 295
18.3.2 使用堆內存 296
18.3.3 釋放堆內存 296
18.3.4 改變內存大小 297
18.4 技術解惑 298
18.4.1 堆和棧的區別 298
18.4.2 常見的內存錯誤及其
對策 299
18.4.3 防止發生溢出錯誤 300
18.5 課后練習 300
第 19章 預處理 301
19.1 預處理基礎 302
19.1.1 什么是預處理 302
19.1.2 C++中的預處理 302
19.2 使用宏時的常見陷阱 308
19.3 技術解惑 309
19.3.1 預處理的未來 309
19.3.2 兩者的意義 310
19.3.3 一個初學者的問題 310
19.4 課后練習 310
第 20章 錯誤和調試 311
20.1 什么是錯誤 312
20.1.1 Bug的由來 312
20.1.2 程序設計方面的解釋 312
20.2 常見的錯誤分析 312
20.3 程序調試常見錯誤 317
20.4 C++編程中的調試技巧 322
20.4.1 調試標記 322
20.4.2 運行期間調試標記 322
20.4.3 把變量和表達式轉換成
字符串 323
20.4.4 C++語言的assert() 323
20.5 技術解惑 323
20.5.1 編寫規范易懂的代碼 323
20.5.2 編寫安全可靠的代碼 324
20.5.3 Visual C++調試技術 326
20.5.4 常見的非語法錯誤 328
第 21章 初入江湖——圖書借閱系統的
實現過程 329
21.1 項目要求 330
21.2 需求分析 330
21.3 系統具體實現 330
21.3.1 數據結構設計 331
21.3.2 系統主文件rent.cpp 331
21.3.3 菜單處理文件
mainfunction.h 332
21.3.4 函數定義文件
subfunction.h 332
21.3.5 菜單處理實現文件
mainfunction.cpp 333
21.3.6 功能函數實現文件
subfunction.cpp 337
第 22章 開始闖關——C++實現網絡
應用項目 353
22.1 項目要求 354
22.1.1 客戶機/服務器模式
介紹 354
22.1.2 客戶機/服務器模式的
運作流程 355
22.2 實現原理 355
22.2.1 什么是Winsocket編程
接口 355
22.2.2 Winsocket中的函數 355
22.3 具體實現 360
22.3.1 客戶端和服務器端的
公用文件 360
22.3.2 實現服務器端 363
22.3.3 實現客戶端 364
第 23章 開始闖關——C++實現游戲
項目 366
23.1 計算機游戲基礎 367
23.1.1 游戲的基本流程 367
23.1.2 游戲元素 367
23.1.3 游戲層次 368
23.2 項目分析 368
23.2.1 游戲的角色 368
23.2.2 游戲界面表現 369
23.3 具體實現 369
23.3.1 實現相關位圖 369
23.3.2 變量與函數 369
23.3.3 實現全屏 371
23.3.4 類初始化 371
23.3.5 實現具體顯示界面 372
23.3.6 信息提示 374
23.3.7 與時間段相關的操作 374
23.3.8 鍵盤操作 375
23.3.9 我方發射子彈 376
23.3.10 敵機出現 378
23.3.11 敵機發射子彈 378
23.3.12 敵機子彈移動 378
23.3.13 火力實現 379
序: