《C++ Primer中文版(第5版)》作者C++大師Stanley B. Lippman中國行

software. B.Lippman strin

書本活動

值此《C++ Primer中文版(第五版)》面世之際,我們為廣大讀者帶來更大驚喜——邀請本書第一作者Stanley B. Lippman來京,與廣大中國讀者歡聚暢聊。
Stanley B. Lippman中國行活動場次(暫):
2013年10月24日長沙·中國計算機大會專場演講
2013年10月27日北京·中關村圖書大廈讀者見面會
2013年10月27日北京·對話《C++ Primer》大師專場活動
2013年10月28日北京·北京航空航天大學專場演講
2013年10月29日北京·北京大學專場演講
相信,對技術滿懷熱情的你,對未來充滿期待的你,一定不會錯過任何一個機會!
C++ Primer中文版(第5版)》作者C++大師Lippman中國行完美落幕
在剛剛過去的金秋十月,藉由《C++ Primer中文版(第5版)》新書上市熱銷之際,電子工業出版社有幸邀請到了這本傳世巨作的第一作者Stanley B. Lippman來中國,與廣大中國學子共聚一堂,指點學業迷津;與眾多技術人員暢談程式語言發展的前世今生,同時更是勉勵大家:要為未來的軟體業做出自己的貢獻。
此次Lippman大師中國行的首站是在長沙舉行的全國計算領域規模最大、規格最高的學術、技術大會“中國計算機大會”,他在會上進行了題為《Yet Another Paradigm Shift: Hugo》的專題演講。隨後,Lippman大師在會場電子工業出版社展台進行了《C++ Primer中文版(第5版)》一書的簽售活動,並與眾多慕名前來的高校教師、優秀學子做了深入的交流和溝通。
會後,有一位與Lippman進行了交流的學子寫下了這樣一段文字寄給我們:
“Lippmann先生的演講給我最大的收穫還是他對於我們這些年輕人的鼓勵之語:
It is not about becoming famous. It’s not about ourselves, but about a community of minds, if you will. It’s not about free software versus proprietary software. It’s about improving the quality of human life.
Anyway, it’s not about me. It’s about you, and the future. My future is past. I look forward to seeing what some of you are able to come up with. Anyway, that is my challenge to you.
每次讀這兩句話都會熱血沸騰,渾身充滿力量。昨天在給實驗室做會議報告時還引用了這兩句話,大家也都反響熱烈。”
從長沙回京,更多更豐富的交流活動拉開了序幕。從中關村圖書大廈到車庫咖啡,Lippman大師為大家帶來了精彩異常的講座,並與英特爾中國研究院首席工程師吳甘沙、思愛普(北京)軟體系統有限公司上海分公司高級軟體工程師範德成、微軟亞洲研究院研發工程師劉未鵬、EMC首席工程師高博、微軟亞洲研究院研發工程師陳梓涵等技術領軍人物進行了深入交流與高端對話。雖然場地有限,但很多參會者堅持站著參加完了整場活動。
在這兩場講座中,Lippman大師分享了編程范型的演變過程及對新編程範式的思考。他表示新的編程范型往往應運而生,而編程范型之間的變遷,也不是一蹴而就的,正如人們接受面向對象編程范型,就經歷了艱辛、複雜的鬥爭過程。Hugo是Lippman提出的新範式——將自我和理性相結合,彼此之間沒有輕重之分,只是分工不同。正如一款成功產品的發布,需要多種人員的的協力配合,缺一不可的,更無孰輕孰重之分。
演講結尾,Lippman再次強調,在模型沒有發生改變的情況,我們不應該喜新(語言)厭舊(語言)。同時指出C++的理念永遠不會過時。
思愛普(北京)軟體系統有限公司上海分公司高級軟體工程師範德成 Lippman先生對與Lippman大師的交流感觸頗深,他這樣寫到:
“很少在技術類的講座或訪談中感受到一種悲天憫人的心境。而年逾花甲的C++大師Stanley B. Lippman則給我們帶來了很多精神上的關懷。
Lippman先生在C++方面作出的卓著貢獻是不可磨滅的。在傳奇的貝爾實驗室里,Lippman從BjarneStroustrup那裡接手了早期的C++編譯器,並開發了其後續的幾個版本。從職業經歷來講,Lippman先生無疑是技術方面的大師。但遠不止是這樣。
Lippman先生對於整個軟體行業生態環境的複雜性談了他對於長遠的看法。隨著時代的推移,我們的編程環境與當年已經有了非常大的不同。Lippman先生指出,現在做一個程式,需要考慮你所使用的作業系統、程式語言以及該平台上可用的類庫。這早已不再是簡單的“寫一遍程式,到處運行”(Java語言的目標之一)的概念了。這對於我們程式設計師來說是一種很大的困擾。
由於商業競爭的結果,出現了割裂的開發平台。在平台割據這個角度,Lippman通過這幾年對動物神經的研究,希望得到一個持續發展的模型,來解決這種割據的情況。這就是他講到的HUGO。有了HUGO模型之後,程式設計師的個人意志可以被導向實際功能的開發,而不再是成為平台的主宰者。這樣一來,大家的投入就不會再白費,大家互相之間的關係也會從競爭轉變為協作。
Lippman語重心長地對我們說:我這把年紀了,如果業界失去我這樣一個人也沒啥關係了,但你們正年輕,你們應當對軟體業作出自己的貢獻!這句話讓我們深刻地感到,我們作為軟體業的參與者,任重而道遠,必須儘自己的努力來做出成績,讓世界運行得更美好!”
隨後,Lippman大師走進校園,分別在北京航空航天大學和北京大學與高校學子、優秀教師溝通座談。C++作為公認的入門第一語言,在高校教育里長期雄踞霸主地位。與此相符,《C++ Primer》這本曠世名著,在大學校園內擁有深厚的民眾基礎,可謂“為人不識Lippman,縱是英雄也枉然”。因此,Lippman大師這次輕車簡行,來到兩座中國頂級高等學府,與師生共聚一堂,暢談C++前世今生,閒話程式人生,可以視為一種回歸與聚首——一部伴隨一屆屆學子進出校門、走向程式設計師崗位的佳作,帶著最新的第5版回歸校園;用作品惠及萬千師生的原著作者,千里迢迢與他的讀者聚首。這樣的場面,整個過程,相信會讓親身參與其中的天之驕子們,銘記一生,受益一生。
北京航空航天大學的講座,座無虛席。同學們積極與大師互動,解答各種學習、套用中的問題。
北京大學的場景,更是別開生面——Lippman與來自北大、南開、北航C++教學界翹楚促膝交談,就面向現代開發模式如何做好校園程式語言教學,進行了深刻而前瞻的探討,讓到場的各校師生獲益良多,印象深刻。
Lippman大師中國行已完美落幕。這位C++大師在活動尾聲,特意親筆為廣大中國學者書寫下了他的祝福和勉勵,並對電子工業出版社留下了寄語。此次中國之旅,他帶給我們的遠不止他對技術的精彩講解和獨到剖析,他用豐富的人生閱歷和深厚的歲月積澱來與大家對話,更是體現了他對年輕一代的人文關懷。
借用EMC首席工程師高博在與大師近距離溝通後的感言來結尾:
這是一次技術的點悟,更是一場靈魂的洗禮。大師面對面地講述了很多智慧,讓我們不斷地學習,平等地待人,並優雅地老去。

書本簡介

C++ Primer中文版(第五版)》:
頂級暢銷書重磅升級
全面採用最新 C++ 11標準!
【美】Stanley B.Lippman
Josee Lajoie
Barbara E.Moo
王剛楊巨峰
ISBN 978-7-121-15535-2
2013年9月出版
定價:128.00元
如果唯讀一本C++書籍,那么你一定不能錯過它!最經典的著作,值得你收藏!

書本內容

這本久負盛名的 C++經典教程,時隔八年之久,終迎來史無前例的重大升級。除令全球無數程式設計師從中受益,甚至為之迷醉的——C++ 大師 Stanley B. Lippman 的豐富實踐經驗,C++標準委員會原負責人Josée Lajoie 對C++標準的深入理解,以及C++ 先驅 Barbara E. Moo 在 C++教學方面的真知灼見外,更是基於全新的 C++11標準進行了全面而徹底的內容更新。
非常難能可貴的是,《C++Primer 中文版(第5版)》所有示例均全部採用 C++11 標準改寫,這在經典升級版中極其罕見——充分體現了 C++ 語言的重大進展及其全面實踐。書中豐富的教學輔助內容、醒目的知識點提示,以及精心組織的編程示範,讓這本書在 C++ 領域的權威地位更加不可動搖。無論是初學者入門,或是中、高級程式設計師提升,本書均為不容置疑的首選。

Stanley B. Lippman 介紹

StanleyBernard Lippman,《C++ Primer》《Essential C++》《深度探索C++對象模型》等名著作者。目前領導著一個新啟動的ePub項目2KQubits。在此之前,Stan曾擔任迪斯尼、夢工廠、皮克斯和PDI工作室的動畫長片首席軟體工程師,以及噴氣推進實驗室特別顧問,負責火星探測器框架CLARAty的研究。他還為大型多人線上遊戲公司Perpetual Entertainment的遊戲《眾神與英雄》及Emergent Technologies的伺服器技術提供技術支持。Stan擔任過微軟Visual C++項目組架構師,主要負責C++/.NET的兼容性研發,以及新的編譯器開發。
Stan曾就職于貝爾實驗室,其間SteveJohnson擔任導師,後與Bjarne Stroustrup共同開發cfront——首個C++編譯器。Stan獨自完成cfront 1.1 ~ 1.3版本的開發,直至cfront 2.0開始才有其他開發人員加入。Stan擔任cfront 2.0及3.0版本開發成員的負責人,負責首次完整的模板編譯。

書本目錄

第1章 開始
1.1 編寫一個簡單的C++程式 2
1.1.1 編譯、運行程式 3
1.2 初識輸入輸出 5
1.3 注釋簡介 8
1.4 控制流 10
1.4.1 while語句 10
1.4.2 for語句 11
1.4.3 讀取數量不定的輸入數據 13
1.4.4 if語句 15
1.5 類簡介 17
1.5.1 Sales_item類 17
1.5.2 初識成員函式 20
1.6 書店程式 21
小結 23
術語表 23
第Ⅰ部分 C++基礎 27
第2章 變數和基本類型 29
2.1 基本內置類型 30
2.1.1 算術類型 30
2.1.2 類型轉換 32
2.1.3 字面值常量 35
2.2 變數 38
2.2.1 變數定義 38
2.2.2 變數聲明和定義的關係 41
2.2.3 標識符 42
2.2.4 名字的作用域 43
2.3 複合類型 45
2.3.1 引用 45
2.3.2 指針 47
2.3.3 理解複合類型的聲明 51
2.4 const限定符 53
2.4.1 const的引用 54
2.4.2 指針和const 56
2.4.3 頂層const 57
2.4.4 constexpr和常量表達式 58
2.5 處理類型 60
2.5.1 類型別名 60
2.5.2 auto類型說明符 61
2.5.3 decltype類型指示符 62
2.6 自定義數據結構 64
2.6.1 定義Sales_data類型 64
2.6.2 使用Sales_data類 66
2.6.3 編寫自己的頭檔案 67
小結 69
術語表 69
第3章 字元串、向量和數組 73
3.1 命名空間的using聲明 74
3.2 標準庫類型string 75
3.2.1 定義和初始化string對象 76
3.2.2 string對象上的操作 77
3.2.3 處理string對象中的字元 81
3.3 標準庫類型vector 86
3.3.1 定義和初始化vector對象 87
3.3.2 向vector對象中添加元素 90
3.3.3 其他vector操作 91
3.4 疊代器介紹 95
3.4.1 使用疊代器 95
3.4.2 疊代器運算 99
3.5 數組 101
3.5.1 定義和初始化內置數組 101
3.5.2 訪問數組元素 103
3.5.3 指針和數組 105
3.5.4 C風格字元串 109
3.5.5 與舊代碼的接口 111
3.6 多維數組 112
小結 117
術語表 117
第4章 表達式 119
4.1 基礎 120
4.1.1 基本概念 120
4.1.2 優先權與結合律 121
4.1.3 求值順序 123
4.2 算術運算符 124
4.3 邏輯和關係運算符 126
4.4 賦值運算符 129
4.5 遞增和遞減運算符 131
4.6 成員訪問運算符 133
4.7 條件運算符 134
4.8 位運算符 135
4.9 sizeof運算符 139
4.10 逗號運算符 140
4.11 類型轉換 141
4.11.1 算術轉換 142
4.11.2 其他隱式類型轉換 143
4.11.3 顯式轉換 144
4.12 運算符優先權表 147
小結 149
術語表 149
第5章 語句 153
5.1 簡單語句 154
5.2 語句作用域 155
5.3 條件語句 156
5.3.1 if語句 156
5.3.2 switch語句 159
5.4 疊代語句 165
5.4.1 while語句 165
5.4.2 傳統的for語句 166
5.4.3 範圍for語句 168
5.4.4 do while語句 169
5.5 跳轉語句 170
5.5.1 break語句 170
5.5.2 continue語句 171
5.5.3 goto語句 172
5.6 TRY語句塊和異常處理 172
5.6.1 throw表達式 173
5.6.2 try語句塊 174
5.6.3 標準異常 176
小結 178
術語表 178
第6章 函式 181
6.1 函式基礎 182
6.1.1 局部對象 184
6.1.2 函式聲明 186
6.1.3 分離式編譯 186
6.2 參數傳遞 187
6.2.1 傳值參數 187
6.2.2 傳引用參數 188
6.2.3 const形參和實參 190
6.2.4 數組形參 193
6.2.5 main:處理命令行選項 196
6.2.6 含有可變形參的函式 197
6.3 返回類型和return語句 199
6.3.1 無返回值函式 200
6.3.2 有返回值函式 200
6.3.3 返回數組指針 205
6.4 函式重載 206
6.4.1 重載與作用域 210
6.5 特殊用途語言特性 211
6.5.1 默認實參 211
6.5.2 內聯函式和constexpr函式 213
6.5.3 調試幫助 215
6.6 函式匹配 217
6.6.1 實參類型轉換 219
6.7 函式指針 221
小結 225
術語表 225
第7章 類 227
7.1 定義抽象數據類型 228
7.1.1 設計Sales_data類 228
7.1.2 定義改進的Sales_data類 230
7.1.3 定義類相關的非成員函式 234
7.1.4 構造函式 235
7.1.5 拷貝、賦值和析構 239
7.2 訪問控制與封裝 240
7.2.1 友元 241
7.3 類的其他特性 243
7.3.1 類成員再探 243
7.3.2 返回*this的成員函式 246
7.3.3 類類型 249
7.3.4 友元再探 250
7.4 類的作用域 253
7.4.1 名字查找與類的作用域 254
7.5 構造函式再探 257
7.5.1 構造函式初始值列表 258
7.5.2 委託構造函式 261
7.5.3 默認構造函式的作用 262
7.5.4 隱式的類類型轉換 263
7.5.5 聚合類 266
7.5.6 字面值常量類 267
7.6 類的靜態成員 268
小結 273
術語表 273
第Ⅱ部 C++標準庫 275
第8章 IO庫 277
8.1 IO類 278
8.1.1 IO對象無拷貝或賦值 279
8.1.2 條件狀態 279
8.1.3 管理輸出緩衝 281
8.2 檔案輸入輸出 283
8.2.1 使用檔案流對象 284
8.2.2 檔案模式 286
8.3 string流 287
8.3.1 使用istringstream 287
8.3.2 使用ostringstream 289
小結 290
術語表 290
第9章 順序容器 291
9.1 順序容器概述 292
9.2 容器庫概覽 294
9.2.1 疊代器 296
9.2.2 容器類型成員 297
9.2.3 begin和end成員 298
9.2.4 容器定義和初始化 299
9.2.5 賦值和swap 302
9.2.6 容器大小操作 304
9.2.7 關係運算符 304
9.3 順序容器操作 305
9.3.1 向順序容器添加元素 305
9.3.2 訪問元素 309
9.3.3 刪除元素 311
9.3.4 特殊的forward_list操作 312
9.3.5 改變容器大小 314
9.3.6 容器操作可能使疊代器失效 315
9.4 vector對象是如何增長的 317
9.5 額外的string操作 320
9.5.1 構造string的其他方法 321
9.5.2 改變string的其他方法 322
9.5.3 string搜尋操作 325
9.5.4 compare函式 327
9.5.5 數值轉換 327
9.6 容器適配器 329
小結 332
術語表 332
第10章 泛型算法 335
10.1 概述 336
10.2 初識泛型算法 338
10.2.1 唯讀算法 338
10.2.2 寫容器元素的算法 339
10.2.3 重排容器元素的算法 342
10.3 定製操作 344
10.3.1 向算法傳遞函式 344
10.3.2 lambda表達式 345
10.3.3 lambda捕獲和返回 349
10.3.4 參數綁定 354
10.4 再探疊代器 357
10.4.1 插入疊代器 358
10.4.2 iostream疊代器 359
10.4.3 反向疊代器 363
10.5 泛型算法結構 365
10.5.1 5類疊代器 365
10.5.2 算法形參模式 367
10.5.3 算法命名規範 368
10.6 特定容器算法 369
小結 371
術語表 371
第11章 關聯容器 373
11.1 使用關聯容器 374
11.2 關聯容器概述 376
11.2.1 定義關聯容器 376
11.2.2 關鍵字類型的要求 378
11.2.3 pair類型 379
11.3 關聯容器操作 381
11.3.1 關聯容器疊代器 382
11.3.2 添加元素 383
11.3.3 刪除元素 386
11.3.4 map的下標操作 387
11.3.5 訪問元素 388
11.3.6 一個單詞轉換的map 391
11.4 無序容器 394
小結 397
術語表 397
第12章 動態記憶體 399
12.1 動態記憶體與智慧型指針 400
12.1.1 shared_ptr類 400
12.1.2 直接管理記憶體 407
12.1.3 shared_ptr和new結合使用 412
12.1.4 智慧型指針和異常 415
12.1.5 unique_ptr 417
12.1.6 weak_ptr 420
12.2 動態數組 423
12.2.1 new和數組 423
12.2.2 allocator類 427
12.3 使用標準庫:文本查詢程式 430
12.3.1 文本查詢程式設計 430
12.3.2 文本查詢程式類的定義 432
小結 436
術語表 436
第Ⅲ部分 類設計者的工具 437
第13章 拷貝控制 439
13.1 拷貝、賦值與銷毀 440
13.1.1 拷貝構造函式 440
13.1.2 拷貝賦值運算符 443
13.1.3 析構函式 444
13.1.4 三/五法則 447
13.1.5 使用=default 449
13.1.6 阻止拷貝 449
13.2 拷貝控制和資源管理 452
13.2.1 行為像值的類 453
13.2.2 定義行為像指針的類 455
13.3 交換操作 457
13.4 拷貝控制示例 460
13.5 動態記憶體管理類 464
13.6 對象移動 470
13.6.1 右值引用 471
13.6.2 移動構造函式和移動賦值運算符 473
13.6.3 右值引用和成員函式 481
小結 486
術語表 486
第14章 操作重載與類型轉換 489
14.1 基本概念 490
14.2 輸入和輸出運算符 494
14.2.1 重載輸出運算符<< 494
14.2.2 重載輸入運算符>> 495
14.3 算術和關係運算符 497
14.3.1 相等運算符 497
14.3.2 關係運算符 498
14.4 賦值運算符 499
14.5 下標運算符 501
14.6 遞增和遞減運算符 502
14.7 成員訪問運算符 504
14.8 函式調用運算符 506
14.8.1 lambda是函式對象 507
14.8.2 標準庫定義的函式對象 509
14.8.3 可調用對象與function 511
14.9 重載、類型轉換與運算符 514
14.9.1 類型轉換運算符 514
14.9.2 避免有二義性的類型轉換 517
14.9.3 函式匹配與重載運算符 521
小結 523
術語表 523
第15章 面向對象程式設計 525
15.1 OOP:概述 526
15.2 定義基類和派生類 527
15.2.1 定義基類 528
15.2.2 定義派生類 529
15.2.3 類型轉換與繼承 534
15.3 虛函式 536
15.4 抽象基類 540
15.5 訪問控制與繼承 542
15.6 繼承中的類作用域 547
15.7 構造函式與拷貝控制 551
15.7.1 虛析構函式 552
15.7.2 合成拷貝控制與繼承 552
15.7.3 派生類的拷貝控制成員 554
15.7.4 繼承的構造函式 557
15.8 容器與繼承 558
15.8.1 編寫Basket類 559
15.9 文本查詢程式再探 562
15.9.1 面向對象的解決方案 563
15.9.2 Query_base類和Query類 567
15.9.3 派生類 568
15.9.4 eval函式 571
小結 575
術語表 575
第16章 模板與泛型編程 577
16.1 定義模板 578
16.1.1 函式模板 578
16.1.2 類模板 583
16.1.3 模板參數 592
16.1.4 成員模板 595
16.1.5 控制實例化 597
16.1.6 效率與靈活性 599
16.2 模板實參推斷 600
16.2.1 類型轉換與模板類型參數 601
16.2.2 函式模板顯式實參 603
16.2.3 尾置返回類型與類型轉換 604
16.2.4 函式指針和實參推斷 607
16.2.5 模板實參推斷和引用 608
16.2.6 理解std::move 610
16.2.7 轉發 612
16.3 重載與模板 614
16.4 可變參數模板 618
16.4.1 編寫可變參數函式模板 620
16.4.2 包擴展 621
16.4.3 轉發參數包 622
16.5 模板特例化 624
小結 630
術語表 630
第Ⅳ部分 高級主題 633
第17章 標準庫特殊設施 635
17.1 tuple類型 636
17.1.1 定義和初始化tuple 637
17.1.2 使用tuple返回多個值 638
17.2 BITSET類型 640
17.2.1 定義和初始化bitset 641
17.2.2 bitset操作 643
17.3 正則表達式 645
17.3.1 使用正則表達式庫 646
17.3.2 匹配與Regex疊代器類型 650
17.3.3 使用子表達式 653
17.3.4 使用regex_replace 657
17.4 隨機數 659
17.4.2 其他隨機數分布 663
bernoulli_distribution類 665
17.5 IO庫再探 666
17.5.1 格式化輸入與輸出 666
17.5.2 未格式化的輸入/輸出操作 673
17.5.3 流隨機訪問 676
小結 680
術語表 680
第18章 用於大型程式的工具 683
18.1 異常處理 684
18.1.1 拋出異常 684
18.1.2 捕獲異常 687
18.1.3 函式try語句塊與構造函式 689
18.1.4 noexcept異常說明 690
18.1.5 異常類層次 693
18.2 命名空間 695
18.2.1 命名空間定義 695
18.2.2 使用命名空間成員 701
18.2.3 類、命名空間與作用域 705
18.2.4 重載與命名空間 708
18.3 多重繼承與虛繼承 710
18.3.1 多重繼承 711
18.3.2 類型轉換與多個基類 713
18.3.3 多重繼承下的類作用域 715
18.3.4 虛繼承 717
18.3.5 構造函式與虛繼承 720
小結 722
術語表 722
第19章 特殊工具與技術 725
19.1 控制記憶體分配 726
19.1.1 重載new和delete 726
19.1.2 定位new表達式 729
19.2 運行時類型識別 730
19.2.1 dynamic_cast運算符 730
19.2.2 typeid運算符 732
19.2.3 使用RTTI 733
19.2.4 type_info類 735
19.3 枚舉類型 736
19.4 類成員指針 739
19.4.1 數據成員指針 740
19.4.2 成員函式指針 741
19.4.3 將成員函式用作可調用對象 744
19.5 嵌套類 746
19.6 union:一種節省空間的類 749
19.7 局部類 754
19.8 固有的不可移植的特性 755
19.8.1 位域 756
19.8.2 volatile限定符 757
19.8.3 連結指示:extern "C" 758
小結 762
術語表 762
附錄A 標準庫 765
A.1 標準庫名字和頭檔案 766
A.2 算法概覽 770
A.2.1 查找對象的算法 771
A.2.2 其他唯讀算法 772
A.2.3 二分搜尋算法 772
A.2.4 寫容器元素的算法 773
A.2.5 劃分與排序算法 775
A.2.6 通用重排操作 776
A.2.7 排列算法 778
A.2.8 有序序列的集合算法 778
A.2.9 最小值和最大值 779
A.2.10 數值算法 780
A.3 隨機數 781
A.3.1 隨機數分布 781
A.3.2 隨機數引擎 783
C++11的新特性
2.1.1 long long類型 31
2.2.1 列表初始化 39
2.3.2 nullptr常量 48
2.4.4 constexpr變數 59
2.5.1 類型別名聲明 60
2.5.2 auto類型指示符 61
2.5.3 decltype類型指示符 62
2.6.1 類內初始化 65
3.2.2 使用auto或decltype縮寫類型 79
3.2.3 範圍for語句 82
3.3 定義vector對象的vector(向量的向量) 87
3.3.1 vector對象的列表初始化 88
3.4.1 容器的cbegin和cend函式 98
3.5.3 標準庫begin和end函式 106
3.6 使用auto和decltype簡化聲明 115
4.2 除法的捨入規則 125
4.4 用大括弧包圍的值列表賦值 129
4.9 將sizeof用於類成員 139
5.4.3 範圍for語句 168
6.2.6 標準庫initializer_list類 197
6.3.2 列表初始化返回值 203
6.3.3 定義尾置返回類型 206
6.3.3 使用decltype簡化返回類型定義
6.5.2 constexpr函式 214
7.1.4 使用=default生成默認構造函式 237
7.3.1 類對象成員的類內初始化 246
7.5.2 委託構造函式 261
7.5.6 constexpr構造函式 268
8.2.1 用string對象處理檔案名稱 284
9.1 array和forward_list容器 293
9.2.3 容器的cbegin和cend函式 298
9.2.4 容器的列表初始化 300
9.2.5 容器的非成員函式swap 303
9.3.1 容器insert成員的返回類型 308
9.3.1 容器的emplace成員的返回類型 308
9.4 shrink_to_fit 318
9.5.5 string的數值轉換函式 327
10.3.2 Lambda表達式 346
10.3.3 Lambda表達式中的尾置返回類型 353
10.3.4 標準庫bind函式 354
11.2.1 關聯容器的列表初始化 377
11.2.3 列表初始化pair的返回類型 380
11.3.2 pair的列表初始化 384
11.4 無序容器 394
12.1 智慧型指針 400
12.1.1 shared_ptr類
12.1.2 動態分配對象的列表初始化 407
12.1.2 auto和動態分配 408
12.1.5 unique_ptr類 417
12.1.6 weak_ptr類 420
12.2.1 範圍for語句不能套用於動態分配數組 424
12.2.1 動態分配數組的列表初始化 424
12.2.1 auto不能用於分配數組 424
12.2.2 allocator::construct可使用任意構造函式 428
13.1.5 將=default用於拷貝控制成員 449
13.1.6 使用=default阻止拷貝類對象 449
13.5 用移動類對象代替拷貝類對象 469
13.6.1 右值引用 471
13.6.1 標準庫move函式 472
13.6.2 移動構造函式和移動賦值 473
13.6.2 移動構造函式通常應該是noexcept 473
13.6.2 移動疊代器 480
13.6.3 引用限定成員函式 483
14.8.3 function類模板 512
14.9.1 explicit類型轉換運算符 516
15.2.2 虛函式的override指示符 530
15.2.2 通過定義類為final來阻止繼承 533
15.3 虛函式的override和final指示符 538
15.7.2 刪除的拷貝控制和繼承 553
15.7.4 繼承的構造函式 557
16.1.2 聲明模板類型形參為友元 590
16.1.2 模板類型別名 590
16.1.3 模板函式的默認模板參數 594
16.1.5 實例化的顯式控制 597
16.2.3 模板函式與尾置返回類型 605
16.2.5 引用摺疊規則 609
16.2.6 用static_cast將左值轉換為右值 612
16.2.7 標準庫forward函式 614
16.4 可變參數模板 618
16.4 sizeof...運算符 619
16.4.3 可變參數模板與轉發 622
17.1 標準庫Tuple類模板 636
17.2.2 新的bitset運算 643
17.3 正則表達式庫 645
17.4 隨機數庫 659
17.5.1 浮點數格式控制 670
18.1.4 noexcept異常指示符 690
18.1.4 noexcept運算符 691
18.2.1 內聯名字空間 699
18.3.1 繼承的構造函式和多重繼承 712
19.3 有作用域的enum 736
19.3 說明類型用於保存enum對象 738
19.3 enum的提前聲明 738
19.4.3 標準庫mem_fn類模板 746
19.6 類類型的聯合成員 751

熱門詞條

聯絡我們