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

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

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

定 價(jià):¥199.00

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

購(gòu)買這本書可以去


ISBN: 9787111734352 出版時(shí)間: 2019-09-01 包裝: 平裝-膠訂
開本: 16開 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

目 錄 Contents 

前言
致C語(yǔ)言程序員
第一部分 C 語(yǔ)言核心
第1章 啟動(dòng)和運(yùn)行2
1.1 C 程序的基本結(jié)構(gòu)2
1.1.1 創(chuàng)建第一個(gè)C 源文件3
1.1.2 main函數(shù):C 程序的入口點(diǎn)3
1.1.3 程序庫(kù):引入外部代碼3
1.2 編譯器工具鏈4
1.2.1 設(shè)置開發(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 開始認(rèn)識(shí)C 11
1.3.1 C 類型系統(tǒng)11
1.3.2 聲明變量11
1.3.3 初始化變量的狀態(tài)11
1.3.4 條件語(yǔ)句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對(duì)GCC和
   Clang進(jìn)行調(diào)試20
1.5 總結(jié)23
練習(xí)23
拓展閱讀24
第2章 類型25
2.1 基本類型25
2.1.1 整數(shù)類型25
2.1.2 浮點(diǎn)類型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)簡(jiǎn)介36
2.2.4 C風(fēng)格字符串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
練習(xí)56
拓展閱讀56
第3章 引用類型57
3.1 指針57
3.1.1 尋址變量58
3.1.2 指針解引用59
3.1.3 成員指針運(yùn)算符60
3.1.4 指針和數(shù)組61
3.1.5 指針很危險(xiǎn)63
3.1.6 void指針和std::byte指針65
3.1.7 nullptr和布爾表達(dá)式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進(jìn)行初始化73
3.4.2 auto和引用類型73
3.4.3 auto和代碼重構(gòu)73
3.5 總結(jié)74
練習(xí)74
拓展閱讀75
第4章 對(duì)象生命周期76
4.1 對(duì)象的存儲(chǔ)期76
4.1.1 分配、釋放和生命周期76
4.1.2 內(nèi)存管理77
4.1.3 自動(dòng)存儲(chǔ)期77
4.1.4 靜態(tài)存儲(chǔ)期77
4.1.5 線程局部存儲(chǔ)期80
4.1.6 動(dòng)態(tài)存儲(chǔ)期81
4.2 追蹤對(duì)象的生命周期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 復(fù)制語(yǔ)義99
4.5.1 復(fù)制構(gòu)造函數(shù)101
4.5.2 復(fù)制賦值103
4.5.3 默認(rèn)復(fù)制105
4.5.4 復(fù)制指南106
4.6 移動(dòng)語(yǔ)義106
4.6.1 復(fù)制行為可能浪費(fèi)資源106
4.6.2 值類別108
4.6.3 左值引用和右值引用108
4.6.4 std::move函數(shù)109
4.6.5 移動(dòng)構(gòu)造110
4.6.6 移動(dòng)賦值110
4.6.7 終成果111
4.6.8 編譯器生成的方法113
4.7 總結(jié)114
練習(xí)114
拓展閱讀115
第5章 運(yùn)行時(shí)多態(tài)116
5.1 多態(tài)116
5.2 一個(gè)有啟發(fā)性的例子116
5.2.1 添加新的日志記錄器119
5.2.2 接口119
5.2.3 對(duì)象組合和實(shí)現(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 實(shí)現(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
練習(xí)129
拓展閱讀129
第6章 編譯時(shí)多態(tài)130
6.1 模板130
6.2 聲明模板130
6.2.1 模板類定義131
6.2.2 模板函數(shù)定義131
6.2.3 實(shí)例化模板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表達(dá)式構(gòu)建
   concept147
6.7.5 使用concept147
6.7.6 臨時(shí)requires表達(dá)式151
6.8 static_assert:concept之前的權(quán)宜
   之計(jì)153
6.9 非類型模板參數(shù)154
6.10 可變參數(shù)模板156
6.11 高級(jí)模板主題156
6.11.1 模板特化156
6.11.2 名字綁定157
6.11.3 類型函數(shù)157
6.11.4 模板元編程157
6.12 模板源代碼組織157
6.13 運(yùn)行時(shí)多態(tài)與編譯時(shí)多態(tài)對(duì)比158
6.14 總結(jié)158
練習(xí)158
拓展閱讀159
第7章 表達(dá)式160
7.1 運(yùn)算符160
7.1.1 邏輯運(yùn)算符160
7.1.2 算術(shù)運(yùn)算符161
7.1.3 賦值運(yùn)算符162
7.1.4 自增和自減運(yùn)算符163
7.1.5 比較運(yùn)算符163
7.1.6 成員訪問運(yùn)算符164
7.1.7 三元條件運(yùn)算符164
7.1.8 逗號(hào)運(yùn)算符165
7.1.9 重載運(yùn)算符165
7.1.10 重載運(yùn)算符new167
7.1.11 運(yùn)算符優(yōu)先級(jí)和結(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風(fēng)格的類型轉(zhuǎn)換179
7.3.4 用戶自定義類型的轉(zhuǎn)換180
7.4 常量表達(dá)式181
7.4.1 有關(guān)色彩的示例182
7.4.2 關(guān)于constexpr的說(shuō)明184
7.5 volatile表達(dá)式184
7.6 總結(jié)185
練習(xí)186
拓展閱讀186
第8章 語(yǔ)句187
8.1 表達(dá)式語(yǔ)句187
8.2 復(fù)合語(yǔ)句188
8.3 聲明語(yǔ)句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 選擇語(yǔ)句199
8.4.1 if語(yǔ)句199
8.4.2 switch語(yǔ)句203
8.5 迭代語(yǔ)句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)語(yǔ)句211
8.6.1 break語(yǔ)句212
8.6.2 continue語(yǔ)句212
8.6.3 goto語(yǔ)句213
8.7 總結(jié)214
練習(xí)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 折疊表達(dá)式225
9.7 函數(shù)指針225
9.7.1 聲明函數(shù)指針225
9.7.2 類型別名和函數(shù)指針226
9.8 函數(shù)調(diào)用運(yùn)算符227
9.9 計(jì)數(shù)例子227
9.10 lambda表達(dá)式229
9.10.1 用法229
9.10.2 參數(shù)和表達(dá)式體230
9.10.3 默認(rèn)參數(shù)231
9.10.4 泛型232
9.10.5 返回類型233
9.10.6 捕獲列表233
9.10.7 constexpr lambda表達(dá)式239
9.11 std :: function 239
9.11.1 聲明函數(shù)239
9.11.2 擴(kuò)展示例240
9.12 main函數(shù)和命令行242
9.12.1 main的三個(gè)重載變體242
9.12.2 程序參數(shù)243
9.12.3 更深入的例子244
9.12.4 退出狀態(tài)246
9.13 總結(jié)246
練習(xí)246
拓展閱讀247
第二部分 C 庫(kù)和框架
第10章 測(cè)試250
10.1 單元測(cè)試250
10.1.1 集成測(cè)試250
10.1.2 驗(yàn)收測(cè)試251
10.1.3 性能測(cè)試251
10.2 擴(kuò)展示例:汽車制動(dòng)服務(wù)251
10.2.1 實(shí)現(xiàn)AutoBrake253
10.2.2 測(cè)試驅(qū)動(dòng)開發(fā)254
10.2.3 添加服務(wù)總線接口264
10.3 單元測(cè)試框架和模擬框架270
10.3.1 Catch單元測(cè)試框架270
10.3.2 Google Test276
10.3.3 Boost Test282
10.3.4 總結(jié):測(cè)試框架287
10.4 模擬框架287
10.4.1 Google Mock289
10.4.2 HippoMocks296
10.4.3 其他模擬框架:FakeIt和
    Trompeloeil300
10.5 總結(jié)300
練習(xí)301
拓展閱讀302
第11章 智能指針303
11.1 智能指針概述303
11.2 智能指針?biāo)袡?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 指針語(yǔ)義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 獨(dú)占指針310
11.4.1 構(gòu)造311
11.4.2 支持的操作311
11.4.3 可轉(zhuǎn)移的專屬所有權(quán)311
11.4.4 獨(dú)占數(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號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)