注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設計C/C++及其相關(guān)現(xiàn)代C++編程:從入門到實踐

現(xiàn)代C++編程:從入門到實踐

現(xiàn)代C++編程:從入門到實踐

定 價:¥199.00

作 者: [美] 喬什·洛斯皮諾索
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111734352 出版時間: 2019-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書是為中高級程序員設計的,它深入介紹了現(xiàn)代C 的核心。本書分為兩大部分:部分介紹C 語言的核心,深入講解從類型和函數(shù)到對象生命周期和表達式的所有內(nèi)容;第二部分介紹C 標準庫和Boost庫,深入講解所有可用的高質(zhì)量、全功能的工具,涵蓋了特殊的工具類、數(shù)據(jù)結(jié)構(gòu)和算法,并介紹了如何操作文件系統(tǒng)和構(gòu)建通過網(wǎng)絡進行通信的高性能程序。本書包含500多個代碼樣本和近100個練習,可以讓你打下堅實的C 基礎,助你寫出讓自己引以為傲的可讀性較高、短小精悍且高效的代碼。

作者簡介

暫缺《現(xiàn)代C++編程:從入門到實踐》作者簡介

圖書目錄

目 錄 Contents 

前言
致C語言程序員
第一部分 C 語言核心
第1章 啟動和運行2
1.1 C 程序的基本結(jié)構(gòu)2
1.1.1 創(chuàng)建第一個C 源文件3
1.1.2 main函數(shù):C 程序的入口點3
1.1.3 程序庫:引入外部代碼3
1.2 編譯器工具鏈4
1.2.1 設置開發(fā)環(huán)境4
1.2.2 Windows 10以及后續(xù)版本:
   Visual Studio5
1.2.3 macOS: Xcode6
1.2.4 Linux和GCC7
1.2.5 文本編輯器10
1.3 開始認識C 11
1.3.1 C 類型系統(tǒng)11
1.3.2 聲明變量11
1.3.3 初始化變量的狀態(tài)11
1.3.4 條件語句12
1.3.5 函數(shù)14
1.3.6 printf格式指定符15
1.3.7 重新審視step_function16
1.3.8 注釋 17
1.4 調(diào)試18
1.4.1 Visual Studio18
1.4.2 Xcode19
1.4.3 用GDB和LLDB對GCC和
   Clang進行調(diào)試20
1.5 總結(jié)23
練習23
拓展閱讀24
第2章 類型25
2.1 基本類型25
2.1.1 整數(shù)類型25
2.1.2 浮點類型28
2.1.3 字符類型30
2.1.4 布爾類型31
2.1.5 std::byte類型33
2.1.6 size_t類型34
2.1.7 void35
2.2 數(shù)組35
2.2.1 數(shù)組初始化35
2.2.2 訪問數(shù)組元素35
2.2.3 for循環(huán)簡介36
2.2.4 C風格字符串38
2.3 用戶自定義類型41
2.3.1 枚舉類型41
2.3.2 普通數(shù)據(jù)類44
2.3.3 聯(lián)合體45
2.4 全功能的C 類46
2.4.1 方法47
2.4.2 訪問控制47
2.4.3 構(gòu)造函數(shù)49
2.4.4 初始化51
2.4.5 析構(gòu)函數(shù)55
2.5 總結(jié)56
練習56
拓展閱讀56
第3章 引用類型57
3.1 指針57
3.1.1 尋址變量58
3.1.2 指針解引用59
3.1.3 成員指針運算符60
3.1.4 指針和數(shù)組61
3.1.5 指針很危險63
3.1.6 void指針和std::byte指針65
3.1.7 nullptr和布爾表達式65
3.2 引用65
3.3 指針和引用的使用66
3.3.1 前向鏈表:經(jīng)典的基于指針的
   數(shù)據(jù)結(jié)構(gòu)66
3.3.2 使用引用68
3.3.3 this指針69
3.3.4 const正確性69
3.3.5 const成員變量71
3.3.6 成員初始化列表71
3.4 auto類型推斷72
3.4.1 用auto進行初始化73
3.4.2 auto和引用類型73
3.4.3 auto和代碼重構(gòu)73
3.5 總結(jié)74
練習74
拓展閱讀75
第4章 對象生命周期76
4.1 對象的存儲期76
4.1.1 分配、釋放和生命周期76
4.1.2 內(nèi)存管理77
4.1.3 自動存儲期77
4.1.4 靜態(tài)存儲期77
4.1.5 線程局部存儲期80
4.1.6 動態(tài)存儲期81
4.2 追蹤對象的生命周期83
4.3 異常84
4.3.1 throw關(guān)鍵字84
4.3.2 使用try-catch代碼塊85
4.3.3 stdlib異常類86
4.3.4 異常處理88
4.3.5 用戶定義的異常89
4.3.6 noexcept關(guān)鍵字90
4.3.7 調(diào)用棧和異常90
4.4 SimpleString類92
4.4.1 追加和打印93
4.4.2 使用SimpleString94
4.4.3 組合SimpleString95
4.4.4 調(diào)用棧展開96
4.4.5 異常和性能98
4.4.6 異常的替代方法98
4.5 復制語義99
4.5.1 復制構(gòu)造函數(shù)101
4.5.2 復制賦值103
4.5.3 默認復制105
4.5.4 復制指南106
4.6 移動語義106
4.6.1 復制行為可能浪費資源106
4.6.2 值類別108
4.6.3 左值引用和右值引用108
4.6.4 std::move函數(shù)109
4.6.5 移動構(gòu)造110
4.6.6 移動賦值110
4.6.7 終成果111
4.6.8 編譯器生成的方法113
4.7 總結(jié)114
練習114
拓展閱讀115
第5章 運行時多態(tài)116
5.1 多態(tài)116
5.2 一個有啟發(fā)性的例子116
5.2.1 添加新的日志記錄器119
5.2.2 接口119
5.2.3 對象組合和實現(xiàn)繼承119
5.3 定義接口120
5.3.1 基類繼承120
5.3.2 成員繼承121
5.3.3 虛方法122
5.3.4 純虛類和虛析構(gòu)函數(shù)124
5.3.5 實現(xiàn)接口125
5.3.6 使用接口126
5.4 更新銀行日志記錄器126
5.4.1 構(gòu)造函數(shù)注入127
5.4.2 屬性注入127
5.4.3 構(gòu)造函數(shù)注入和屬性注入的
   選擇128
5.5 總結(jié)129
練習129
拓展閱讀129
第6章 編譯時多態(tài)130
6.1 模板130
6.2 聲明模板130
6.2.1 模板類定義131
6.2.2 模板函數(shù)定義131
6.2.3 實例化模板131
6.3 類型轉(zhuǎn)換函數(shù)132
6.3.1 const_cast132
6.3.2 static_cast133
6.3.3 reinterpret_cast134
6.3.4 narrow_cast134
6.4 mean:模板函數(shù)示例136
6.4.1 通用mean136
6.4.2 模板類型推斷138
6.5 SimpleUniquePointer:模板類
      示例139
6.6 模板中的類型檢查142
6.7 concept143
6.7.1 定義concept143
6.7.2 類型特征144
6.7.3 約束要求146
6.7.4 從requires表達式構(gòu)建
   concept147
6.7.5 使用concept147
6.7.6 臨時requires表達式151
6.8 static_assert:concept之前的權(quán)宜
   之計153
6.9 非類型模板參數(shù)154
6.10 可變參數(shù)模板156
6.11 高級模板主題156
6.11.1 模板特化156
6.11.2 名字綁定157
6.11.3 類型函數(shù)157
6.11.4 模板元編程157
6.12 模板源代碼組織157
6.13 運行時多態(tài)與編譯時多態(tài)對比158
6.14 總結(jié)158
練習158
拓展閱讀159
第7章 表達式160
7.1 運算符160
7.1.1 邏輯運算符160
7.1.2 算術(shù)運算符161
7.1.3 賦值運算符162
7.1.4 自增和自減運算符163
7.1.5 比較運算符163
7.1.6 成員訪問運算符164
7.1.7 三元條件運算符164
7.1.8 逗號運算符165
7.1.9 重載運算符165
7.1.10 重載運算符new167
7.1.11 運算符優(yōu)先級和結(jié)合性172
7.1.12 求值順序174
7.2 自定義字面量175
7.3 類型轉(zhuǎn)換175
7.3.1 隱式類型轉(zhuǎn)換176
7.3.2 顯式類型轉(zhuǎn)換178
7.3.3 C風格的類型轉(zhuǎn)換179
7.3.4 用戶自定義類型的轉(zhuǎn)換180
7.4 常量表達式181
7.4.1 有關(guān)色彩的示例182
7.4.2 關(guān)于constexpr的說明184
7.5 volatile表達式184
7.6 總結(jié)185
練習186
拓展閱讀186
第8章 語句187
8.1 表達式語句187
8.2 復合語句188
8.3 聲明語句189
8.3.1 函數(shù)189
8.3.2 命名空間192
8.3.3 類型別名195
8.3.4 結(jié)構(gòu)化綁定197
8.3.5 屬性198
8.4 選擇語句199
8.4.1 if語句199
8.4.2 switch語句203
8.5 迭代語句204
8.5.1 while循環(huán)204
8.5.2 do-while循環(huán)205
8.5.3 for循環(huán)206
8.5.4 基于范圍的for循環(huán)208
8.6 跳轉(zhuǎn)語句211
8.6.1 break語句212
8.6.2 continue語句212
8.6.3 goto語句213
8.7 總結(jié)214
練習215
拓展閱讀215
第9章 函數(shù)216
9.1 函數(shù)聲明216
9.1.1 前綴修飾符216
9.1.2 后綴修飾符217
9.2 auto返回類型220
9.3 auto和函數(shù)模板220
9.4 重載解析221
9.5 可變參數(shù)函數(shù)222
9.6 可變參數(shù)模板223
9.6.1 用參數(shù)包編程223
9.6.2 再談sum函數(shù)224
9.6.3 折疊表達式225
9.7 函數(shù)指針225
9.7.1 聲明函數(shù)指針225
9.7.2 類型別名和函數(shù)指針226
9.8 函數(shù)調(diào)用運算符227
9.9 計數(shù)例子227
9.10 lambda表達式229
9.10.1 用法229
9.10.2 參數(shù)和表達式體230
9.10.3 默認參數(shù)231
9.10.4 泛型232
9.10.5 返回類型233
9.10.6 捕獲列表233
9.10.7 constexpr lambda表達式239
9.11 std :: function 239
9.11.1 聲明函數(shù)239
9.11.2 擴展示例240
9.12 main函數(shù)和命令行242
9.12.1 main的三個重載變體242
9.12.2 程序參數(shù)243
9.12.3 更深入的例子244
9.12.4 退出狀態(tài)246
9.13 總結(jié)246
練習246
拓展閱讀247
第二部分 C 庫和框架
第10章 測試250
10.1 單元測試250
10.1.1 集成測試250
10.1.2 驗收測試251
10.1.3 性能測試251
10.2 擴展示例:汽車制動服務251
10.2.1 實現(xiàn)AutoBrake253
10.2.2 測試驅(qū)動開發(fā)254
10.2.3 添加服務總線接口264
10.3 單元測試框架和模擬框架270
10.3.1 Catch單元測試框架270
10.3.2 Google Test276
10.3.3 Boost Test282
10.3.4 總結(jié):測試框架287
10.4 模擬框架287
10.4.1 Google Mock289
10.4.2 HippoMocks296
10.4.3 其他模擬框架:FakeIt和
    Trompeloeil300
10.5 總結(jié)300
練習301
拓展閱讀302
第11章 智能指針303
11.1 智能指針概述303
11.2 智能指針所有權(quán)304
11.3 作用域指針304
11.3.1 構(gòu)造304
11.3.2 引入Oath Breaker304
11.3.3 基于所有權(quán)的隱式布爾轉(zhuǎn)換305
11.3.4 RAII包裝器306
11.3.5 指針語義306
11.3.6 與nullptr比較307
11.3.7 交換307
11.3.8 重置和替換scoped_ptr308
11.3.9 不可轉(zhuǎn)移性309
11.3.10 boost::scoped_array309
11.3.11 支持的部分操作310
11.4 獨占指針310
11.4.1 構(gòu)造311
11.4.2 支持的操作311
11.4.3 可轉(zhuǎn)移的專屬所有權(quán)311
11.4.4 獨占數(shù)組312
11.4.5 刪除器313
11.4.6 自定義刪除器和系統(tǒng)編程313
11.4.7 支持的部分操作315
11.5 共享指針31

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號