注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關Accelerated C++中文版通過示例進行編程實踐

Accelerated C++中文版通過示例進行編程實踐

Accelerated C++中文版通過示例進行編程實踐

定 價:¥69.00

作 者: Andrew Koenig等 著
出版社: 科學出版社
叢編項:
標 簽: VC++

購買這本書可以去


ISBN: 9787030341877 出版時間: 2012-07-01 包裝: 平裝
開本: 16開 頁數: 字數:  

內容簡介

  為何本書讓人如此印象深刻?因為:◎ 它開門見山,向讀者介紹那些最有用的概念,而不是基礎內容;讀者很快就能上手編程?!蛩枋隽爽F實世界的問題并提出解決方案,而不是單純講述語言特性;由此,讀者不但學習了這些特性,而且知道如何在程序中使用它們?!?它涵蓋的范圍同時包括了語言本身和標準庫;讀者從一開始就可以使用標準庫編寫程序。作者通過他們在美國斯坦福大學的專業(yè)培訓課程證明了本書學習方法的有效性,學生們在他們的第一堂課中就學習了如何編寫真實的應用程序。無論您是一個渴望開始編寫第一個C++程序的新手,還是一個已經使用C++多年并希望深入探討它的老手,兩位作者獨特的介紹方法和專業(yè)知識都讓本書成為您書架中不可或缺的學習參考書。

作者簡介

  Andrew Koenig和Barbara E.Moo堪稱C++研究領域的“第一神仙眷侶”,他們不光有著多年的C++開發(fā)、研究和教學經驗,而且親身參與了C++的演化和變革,是對C++的變化和發(fā)展起到重要影響的人。AndrewKoenig,AT&T大規(guī)模程序研發(fā)部(前貝爾實驗室)成員,同時也是C++標準委員會項目編輯。他有30多年編程經驗,15年C++開發(fā)經驗,已發(fā)表150多篇與C++有關的論文,應邀在世界各地多次演講。曾編著CTraps and Pitfalls一書,并與妻子合著Ruminations on C++。Barbara E.Moo,獨立咨詢顧問,在軟件領域從業(yè)20多年。在AT&T工作的近15年中,參與了第一個使用C++編寫商業(yè)產品的開發(fā)項目,負責管理公司第一個C++編譯器項目,并成功指導開發(fā)了AT&T中屢獲殊榮的WorldNetInternet Service Business。曾參與編寫Ruminations onC++一書,并在世界各地進行過多次演講。

圖書目錄

第0章 開始1
0.1  注釋1
0.2  #include指令2
0.3  主函數main2
0.4  花括號2
0.5  使用標準庫進行輸出3
0.6  返回語句3
0.7  進一步的深入4
0.8  小結5
練習7
第1章 字符串的使用8
1.1  輸入8
1.2  將姓名裝框10
1.3  小結13
練習15
第2章 循環(huán)與計數17
2.1  問題17
2.2  程序的整體結構18
2.3  輸出數目未知的行18
2.3.1  while語句19
2.3.2  設計while語句20
2.4  輸出一行22
2.4.1  輸出邊界字符23
2.4.2  輸出非邊界字符25
2.5  完整的框架程序26
2.5.1  略去重復使用的std::27
2.5.2  使用for語句縮短程序27
2.5.3  壓縮檢測28
2.5.4  完整的框架程序29
2.6  計數30
2.7  小結31
練習34
第3章 使用批量數據36
3.1  計算學生成績36
3.1.1  檢測輸入40
3.1.2  循環(huán)不變式41
3.2  用中值代替平均值42
3.2.1  將數據集合存儲到向量中42
3.2.2  產生輸出44
3.2.3  更加深入的觀察49
3.3  小結50
練習51
第4章 組織程序和數據52
4.1  組織計算52
4.1.1  查找中值54
4.1.2  重新制定計算成績的策略55
4.1.3  讀家庭作業(yè)成績56
4.1.4  三種函數參數59
4.1.5  使用函數來計算學生的成績60
4.2  組織數據62
4.2.1  將一個學生的所有數據放置在一起63
4.2.2  處理學生記錄63
4.2.3  生成報表65
4.3  將各部分代碼連接到一起67
4.4  將計算成績的程序分塊69
4.5  修正后的計算成績程序71
4.6  小結73
練習74
第5章 使用順序容器和分析字符串76
5.1  將學生進行分類76
5.1.1  就地刪除元素77
5.1.2  順序存取和隨機存取80
5.2  迭代器80
5.2.1  迭代器的類型81
5.2.2  迭代器的操作82
5.2.3  一些語法知識83
5.2.4  students.erase(students.begin()+i)的含義83
5.3  用迭代器代替索引83
5.4  重新思考數據結構以實現更好的性能85
5.5  list類型86
5.5.1  一些重要的差別87
5.5.2  一個惱人的話題88
5.6  分割字符串88
5.7  測試split函數91
5.8  連接字符串93
5.8.1  將圖案裝框93
5.8.2  縱向連接95
5.8.3  橫向連接95
5.9  小結97
練習100
第6章 使用庫算法103
6.1  分析字符串103
6.1.1  實現split的另一種方法105
6.1.2  回文107
6.1.3  查找URL107
6.2  比較計算成績的方案112
6.2.1  處理學生記錄112
6.2.2  分析成績113
6.2.3  計算基于家庭作業(yè)平均成績的總成績117
6.2.4  上交的家庭作業(yè)的中值118
6.3  對學生進行分類并回顧我們的問題119
6.3.1  一種兩次傳遞的解決方案119
6.3.2  一種一次傳遞的解決方案121
6.4  算法、容器以及迭代器122
6.5  小結123
練習124
第7章 使用關聯(lián)容器126
7.1  支持高效查找的容器126
7.2  計算單詞數量127
7.3  生成交叉引用表129
7.4  生成語句132
7.4.1  呈現規(guī)則134
7.4.2  讀入文法134
7.4.3  生成語句135
7.4.4  選擇隨機元素138
7.5  關于性能的一些說明140
7.6  小結140
練習141
第8章 編寫泛型函數143
8.1  什么是泛型函數143
8.1.1  未知類型的中值144
8.1.2  模板實例化146
8.1.3  泛型函數和類型146
8.2  數據結構獨立性147
8.2.1  算法與迭代器148
8.2.2  順序只讀訪問149
8.2.3  順序只寫訪問150
8.2.4  順序讀-寫訪問151
8.2.5  可逆訪問152
8.2.6  隨機訪問152
8.2.7  迭代器區(qū)間和越界值153
8.3  輸入和輸出迭代器155
8.4  使用迭代器提高適應性156
8.5  小結157
練習158
第9章 定義新類型160
9.1  Student_info回顧160
9.2  自定義類型161
9.2.1  成員函數162
9.2.2  非成員函數164
9.3  保護164
9.3.1  存取器函數166
9.3.2  檢查對象是否為空167
9.4  Student_info類168
9.5  構造函數168
9.5.1  默認構造函數170
9.5.2  帶參數的構造函數171
9.6  使用Student_info類171
9.7  小結172
練習173
第10章 管理內存與低級數據結構175
10.1  指針與數組175
10.1.1  指針176
10.1.2  指向函數的指針177
10.1.3  數組180
10.1.4  指針算法180
10.1.5  索引181
10.1.6  數組初始化182
10.2  字符串字面量回顧182
10.3  初始化字符串指針數組183
10.4  main函數的參數185
10.5  文件讀寫186
10.5.1  標準錯誤流186
10.5.2  處理多個輸入/輸出文件186
10.6  內存管理的三種方法188
10.6.1  為對象分配/釋放內存189
10.6.2  為數組分配/釋放內存190
10.7  小結191
練習192
第11章 定義抽象數據類型193
11.1  Vec類193
11.2  實現Vec類194
11.2.1  內存分配195
11.2.2  構造函數196
11.2.3  類型定義197
11.2.4  索引與大小198
11.2.5  返回迭代器的操作200
11.3  復制控制201
11.3.1  復制構造函數201
11.3.2  賦值運算符202
11.3.3  賦值不是初始化205
11.3.4  析構函數206
11.3.5  默認操作207
11.3.6  三位一體規(guī)則207
11.4  動態(tài)的Vec類型對象208
11.5  靈活的內存管理210
11.6  小結216
練習216
第12章 使類對象獲得數值功能218
12.1  一個簡單的string類219
12.2  自動轉換220
12.3  Str操作221
12.3.1  輸入和輸出運算符222
12.3.2  友元函數223
12.3.3  其他二元運算符225
12.3.4  混合類型表達式227
12.3.5  設計二元運算符228
12.4  有些轉換是危險的228
12.5  類型轉換操作函數229
12.6  類型轉換與內存管理231
12.7  小結232
練習233
第13章 繼承與動態(tài)綁定的使用235
13.1  繼承235
13.1.1  回顧保護類型237
13.1.2  操作函數237
13.1.3  繼承與構造函數239
13.2  多態(tài)與虛擬函數240
13.2.1  在不確定對象類型時獲得對象的值242
13.2.2  動態(tài)綁定243
13.2.3  簡單回顧244
13.3  使用繼承解決問題245
13.3.1  實際類型待定的容器248
13.3.2  虛擬析構函數250
13.4  一個簡單的句柄類251
13.4.1  讀取句柄253
13.4.2  復制句柄對象254
13.5  使用句柄類256
13.6  微妙之處257
13.6.1  繼承與容器257
13.6.2  需要哪個函數258
13.7  小結259
練習260
第14章 近乎自動地管理內存262
14.1  用于復制對象的句柄263
14.1.1  通用句柄類263
14.1.2  使用通用句柄266
14.2  引用計數句柄269
14.3  可以讓您決定何時共享數據的句柄272
14.4  可控句柄的一個改進274
14.4.1  復制我們無法控制的類型275
14.4.2  復制在何時才是必要的277
14.5  小結277
練習278
第15章 再探字符圖形279
15.1  設計279
15.1.1  使用繼承來模擬結構280
15.1.2  Pic_base類282
15.1.3  派生類284
15.1.4  復制控制287
15.2  實現288
15.2.1  實現用戶接口288
15.2.2  String_Pic類291
15.2.3  補齊輸出結果292
15.2.4  VCat_Pic類293
15.2.5  HCat_Pic類294
15.2.6  Frame_Pic類295
15.2.7  不要忘記友元類聲明296
15.3  小結298
練習299
第16章 學習C++的后續(xù)方法301
16.1  利用已經掌握的知識301
16.2  學習更多的知識303
練習304
附錄A  C++語法細節(jié)305
A.1  聲明305
A.1.1  指定說明307
A.1.2  聲明符308
A.2  類型310
A.2.1  整數類型310
A.2.2  浮點類型313
A.2.3  常量表達式314
A.2.4  類型轉換314
A.2.5  枚舉類型315
A.2.6  重載316
A.3  表達式316
A.4  語句319
附錄B  標準庫一覽322
B.1  輸入-輸出323
B.2  容器和迭代器325
B.2.1  共有的容器操作325
B.2.2  順序容器的操作326
B.2.3  其他順序操作327
B.2.4  關聯(lián)容器的操作328
B.2.5  迭代器(iterator)328
B.2.6  向量(vector)330
B.2.7  鏈表(list)331
B.2.8  字符串(string)331
B.2.9  對(pair)332
B.2.10  圖(map)333
B.3  算法333

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號