瀏覽紀錄

TOP
本公司於1月20日(一)舉辦尾牙聚餐,門市營業時間調整為9:00-17:00,歡迎至三民網路書店訂購。三民書局,感謝您的支持與愛護。
1/1
無庫存,下單後進貨(採購期約45個工作天)
人民幣定價:99元
定  價:NT$594元
優惠價: 87517
可得紅利積點:15 點

無庫存,下單後進貨(採購期約45個工作天)

商品簡介

作者簡介

目次

《C++ 17入門經典(第5版)》介紹如何使用最新的C++17編寫程序。從基礎知識講起,通過詳細分析示例,幫助讀者成為能夠自己編寫程序的C++程序員。參考《C++ 17入門經典(第5版)》的內容,並安裝最新的C++編譯器,讀者很快就能編寫真正的C++程序。《C++ 17入門經典(第5版)》不需要讀者有任何編程經驗,因此在講解所有語言概念時,均給出了可以工作的程序示例,並且全部章節都包含練習題,以幫助讀者檢測並練習自己學到的知識。《C++ 17入門經典(第5版)》為正文中的所有代碼示例和練習題提供可下載的代碼。
《C++ 17入門經典(第5版)》內容已針對C++語言的最新版本C++17做了全面更新,並且介紹了現代C++的約定和最佳實踐。《C++ 17入門經典(第5版)》還介紹了C++標準庫的元素,它們為C++17語言提供了必要的支持。
[美]艾佛·霍爾頓(Ivor Horton),從數學系畢業,卻被信息技術領域工作量少、回報高的前景所吸引。雖然現實證明,工作量大,回報相對一般,但是他與計算機一直相伴到今天。在不同的時期,他參與過編程、系統設計、諮詢以及相當複雜的項目的管理和實施工作。
Ivor有多年工程設計和製造控制系統的設計和實施經驗。他使用多種編程語言開發過在不同場景中很實用的應用程序,並教會一些科學家和工程師如何使用編程語言開發一些實用的程序。他目前出版的圖書涉及C、C++和Java等編程語言。當他沒有在撰寫編程圖書或者為他人提供諮詢服務時,他會去釣魚或旅行,享受生活。
[美]彼得·範維爾特(Peter Van Weert),是一名軟件工程師,主要興趣和專長是應用軟件開發、編程語言、算法和數據結構。他在魯汶大學以最優畢業生榮譽獲得計算機科學碩士學位,並得到了考試委員會的祝賀。2010年,他在魯汶大學的聲明式編程語言和人工智能研究組完成了博士論文,主題是基於規則的編程語言的設計和高效編譯。在攻讀博士期間,他擔任面向對象編程(Java)、軟件分析與設計以及聲明式編程的助教。
畢業後,Peter在Nikon Metrology工作了6年多,負責3D激光掃描和點雲檢查領域的大規模工業應用軟件設計。他學習並精通C++以及極大規模代碼庫的重構和調試,並進一步熟悉了軟件開發過程的各個方面,包括功能和技術需求的分析,以及敏捷的、基於Scrum的項目和團隊管理。
如今,Peter就職於Danaher的數字牙醫軟件研發部,為未來的牙醫業開發軟件。
在空餘時間,他與人合作撰寫了兩本關於C++的圖書,開發了兩個獲獎的Windows 8應用,並且是比利時C++用戶組的定期專家演講人和董事會成員。
目 錄

第1章 基本概念 1
1.1 現代C 1
1.2 標準庫 2
1.3 C 程序概念 2
1.3.1 源文件和頭文件 3
1.3.2 注釋和空白 3
1.3.3 預處理指令和標準庫頭文件 3
1.3.4 函數 3
1.3.5 語句 4
1.3.6 數據的輸入輸出 4
1.3.7 return語句 5
1.3.8 名稱空間 5
1.3.9 名稱和關鍵字 6
1.4 類和對象 6
1.5 模板 6
1.6 代碼的表示樣式和編程風格 7
1.7 創建可執行文件 7
1.8 過程化編程和面向對象編程 8
1.9 表示數字 9
1.9.1 二進制數 9
1.9.2 十六進制數 10
1.9.3 負的二進制數 11
1.9.4 八進制數 12
1.9.5 Big-Endian和Little-Endian系統 12
1.9.6 浮點數 13
1.10 表示字符 14
1.10.1 ASCII 碼 14
1.10.2 UCS和Unicode 14
1.11 C 源字符 15
1.12 本章小結 17
1.13 練習 17
第2章 基本數據類型 19
2.1 變量、數據和數據類型 19
2.1.1 定義整型變量 19
2.1.2 零初始化 22
2.1.3 定義有固定值的變量 22
2.2 整型字面量 22
2.2.1 十進制整型字面量 23
2.2.2 十六進制的整型字面量 23
2.2.3 八進制的整型字面量 24
2.2.4 二進制的整型字面量 24
2.3 整數的計算 24
2.4 賦值運算 26
2.5 sizeof運算符 29
2.6 整數的遞增和遞減 30
2.7 定義浮點變量 31
2.8 浮點字面量 32
2.9 浮點數的計算 32
2.9.1 缺點 32
2.9.2 無效的浮點結果 33
2.9.3 數學函數 33
2.10 輸出流的格式化 35
2.11 混合的表達式和類型轉換 37
2.12 顯式類型轉換 38
2.13 確定數值的上下限 40
2.14 使用字符變量 41
2.15 auto關鍵字 42
2.16 本章小結 43
2.17 練習 43
第3章 處理基本數據類型 45
3.1 運算符的優先級和相關性 45
3.2 位運算符 46
3.2.1 移位運算符 47
3.2.2 位模式下的邏輯運算 49
3.3 枚舉數據類型 53
3.4 數據類型的別名 55
3.5 變量的生存期 56
3.6 全局變量 56
3.7 本章小結 59
3.8 練習 59
第4章 決策 61
4.1 比較數據值 61
4.1.1 應用比較運算符 62
4.1.2 比較浮點數值 63
4.2 if語句 63
4.2.1 嵌套的if語句 65
4.2.2 字符分類和轉換 66
4.3 if-else語句 68
4.3.1 嵌套的if-else語句 69
4.3.2 理解嵌套的if語句 70
4.4 邏輯運算符 71
4.4.1 邏輯與運算符 71
4.4.2 邏輯或運算符 71
4.4.3 邏輯非運算符 72
4.4.4 組合邏輯運算符 72
4.4.5 對整數操作數應用邏輯運算符 73
4.4.6 對比邏輯運算符與位運算符 74
4.5 條件運算符 75
4.6 switch語句 76
4.7 語句塊和變量作用域 81
4.8 本章小結 82
4.9 練習 83
第5章 數組和循環 85
5.1 數組 85
5.2 理解循環 87
5.3 for循環 87
5.4 避免幻數 89
5.5 用初始化列表定義數組的大小 90
5.6 確定數組的大小 90
5.7 用浮點數控制for循環 91
5.8 使用更複雜的for循環控制表達式 93
5.9 基於範圍的for循環 94
5.10 while循環 95
5.11 do-while循環 96
5.12 嵌套的循環 98
5.13 跳過循環迭代 100
5.14 循環的中斷 101
5.15 使用無符號整數控制for循環 103
5.16 字符數組 104
5.17 多維數組 107
5.17.1 初始化多維數組 108
5.17.2 多維字符數組 110
5.18 在運行期間給數組分配內存空間 111
5.19 數組的替代品 112
5.19.1 使用array容器 113
5.19.2 使用std::vector容器 116
5.20 本章小結 119
5.21 練習 120
第6章 指針和引用 121
6.1 什麼是指針 121
6.2 地址運算符 123
6.3 間接運算符 124
6.4 為什麼使用指針 125
6.5 char類型的指針 125
6.6 常量指針和指向常量的指針 128
6.7 指針和數組 130
6.7.1 指針的算術運算 130
6.7.2 使用數組名的指針表示法 132
6.8 動態內存分配 133
6.8.1 棧和自由存儲區 134
6.8.2 運算符new和delete 134
6.8.3 數組的動態內存分配 135
6.9 通過指針選擇成員 138
6.10 動態內存分配的危險 138
6.10.1 懸掛指針和多次釋放 138
6.10.2 分配與釋放的不匹配 139
6.10.3 內存洩漏 139
6.10.4 自由存儲區的碎片 139
6.11 內存分配的黃金準則 140
6.12 原始指針和智能指針 140
6.12.1 使用unique_ptr指針 141
6.12.2 使用shared_ptr指針 143
6.13 理解引用 146
6.13.1 定義引用 146
6.13.2 在基於範圍的for循環中使用引用變量 147
6.14 本章小結 148
6.15 練習 148
第7章 操作字符串 151
7.1 更強大的string類 151
7.1.1 定義string對象 151
7.1.2 string對象的操作 154
7.1.3 訪問字符串中的字符 157
7.1.4 訪問子字符串 158
7.1.5 比較字符串 158
7.1.6 搜索字符串 162
7.1.7 修改字符串 167
7.1.8 對比std::string與std::vector 170
7.2 將字符串轉換為數字 171
7.3 字符串流 171
7.4 國際字符串 172
7.4.1 存儲wchar_t字符的字符串 172
7.4.2 包含Unicode字符串的對象 173
7.5 原始字符串字面量 173
7.6 本章小結 174
7.7 練習 175
第8章 定義函數 177
8.1 程序的分解 177
8.1.1 類中的函數 177
8.1.2 函數的特徵 178
8.2 定義函數 178
8.2.1 函數體 179
8.2.2 返回值 180
8.2.3 函數聲明 181
8.3 給函數傳送實參 182
8.3.1 按值傳送 182
8.3.2 按引用傳送 187
8.3.3 字符串視圖:新的const string引用 192
8.4 默認實參值 194
8.5 main()函數的實參 196
8.6 從函數中返回值 196
8.6.1 返回指針 197
8.6.2 返回引用 199
8.6.3 對比返回值與輸出參數 200
8.6.4 返回類型推斷 200
8.6.5 使用可選值 201
8.7 靜態變量 203
8.8 內聯函數 204
8.9 函數重載 204
8.9.1 重載和指針參數 206
8.9.2 重載和引用參數 206
8.9.3 重載和const參數 207
8.9.4 重載和默認實參值 208
8.10 遞歸 209
8.10.1 基本示例 209
8.10.2 遞歸算法 210
8.11 本章小結 215
8.12 練習 216
第9章 函數模板 219
9.1 函數模板 219
9.2 創建函數模板的實例 220
9.3 模板類型參數 221
9.4 顯式指定模板實參 221
9.5 函數模板的特例 222
9.6 函數模板和重載 222
9.7 帶有多個參數的函數模板 224
9.8 模板的返回類型推斷 225
9.8.1 decltype和拖尾返回類型 225
9.8.2 對比decltype(auto)、拖尾decltype()與auto 226
9.9 模板參數的默認值 226
9.10 非類型的模板參數 227
9.11 本章小結 229
9.12 練習 229
第10章 程序文件和預處理指令 231
10.1 理解轉換單元 231
10.1.1 單一定義規則 231
10.1.2 程序文件和鏈接 232
10.1.3 確定名稱的鏈接屬性 232
10.1.4 外部函數 233
10.1.5 外部變量 233
10.1.6 內部名稱 235
10.2 預處理源代碼 236
10.3 定義預處理宏 236
10.3.1 定義類似於函數的宏 238
10.3.2 取消宏的定義 239
10.4 包含頭文件 240
10.4.1 防止重複頭文件的內容 240
10.4.2 第一個頭文件 241
10.5 名稱空間 242
10.5.1 全域名稱空間 242
10.5.2 定義名稱空間 242
10.5.3 應用using聲明 244
10.5.4 函數和名稱空間 244
10.5.5 未命名的名稱空間 246
10.5.6 嵌套的名稱空間 247
10.5.7 名稱空間的別名 248
10.6 邏輯預處理指令 248
10.6.1 邏輯#if指令 248
10.6.2 測試指定標識符的值 249
10.6.3 多個代碼選擇 249
10.6.4 標準的預處理宏 250
10.6.5 檢查頭文件是否可用 251
10.7 調試方法 251
10.7.1 集成調試器 252
10.7.2 調試中的預處理指令 252
10.7.3 使用assert()宏 254
10.8 靜態斷言 255
10.9 本章小結 257
10.10 練習 257
第11章 定義自己的數據類型 259
11.1 類和面向對象編程 259
11.1.1 封裝 260
11.1.2 繼承 262
11.1.3 多態性 263
11.2 術語 263
11.3 定義類 264
11.4 構造函數 265
11.4.1 默認構造函數 265
11.4.2 定義類的構造函數 266
11.4.3 使用default關鍵字 267
11.4.4 在類的外部定義函數和構造函數 267
11.4.5 默認構造函數的參數值 268
11.4.6 使用成員初始化列表 269
11.4.7 使用explicit關鍵字 269
11.4.8 委託構造函數 271
11.4.9 副本構造函數 272
11.5 訪問私有類成員 273
11.6 this指針 274
11.7 const對象和const成員函數 275
11.7.1 const成員函數 276
11.7.2 const正確性 277
11.7.3 重載const 277
11.7.4 常量的強制轉換 279
11.7.5 使用mutable關鍵字 279
11.8 友元 280
11.8.1 類的友元函數 280
11.8.2 友元類 281
11.9 類的對象數組 282
11.10 類對象的大小 283
11.11 類的靜態成員 283
11.11.1 靜態成員變量 283
11.11.2 訪問靜態成員變量 286
11.11.3 靜態常量 286
11.11.4 類類型的靜態成員變量 287
11.11.5 靜態成員函數 288
11.12 析構函數 288
11.13 使用指針作為類成員 290
11.14 嵌套類 299
11.15 本章小結 302
11.16 練習 303
第12章 運算符重載 305
12.1 為類實現運算符 305
12.1.1 運算符重載 305
12.1.2 實現重載運算符 306
12.1.3 非成員運算符函數 307
12.1.4 提供對運算符的全部支持 308
12.1.5 在類中實現所有的比較運算符 309
12.2 可以重載的運算符 311
12.3 運算符函數習語 313
12.4 為輸出流重載

購物須知

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約20個工作天;
海外無庫存之書籍,平均作業時間約45個工作天,然不保證確定可調到貨,尚請見諒。