《C++ Primer中文版(第5版) 》基本信息作者: (美)Stanley B. Lippman(斯坦利 李普曼) Josee Lajoie(約瑟 拉喬伊) Barbara E. Moo (芭芭拉 默) 譯者: 王剛 楊巨峰出版社:電子工業出版社ISBN:9787121155352上架時間:2013-8-21出版日期:2013 年9月開本:16開頁碼:848版次:5-1所屬分類:計算機 > 軟件與程序設計 > C++ > C++
更多關於 》》》《C++ Primer中文版(第5版) 》內容簡介 計算機書籍 這本久負盛名的 C++經典教程,時隔八年之久,終迎來史無前例的重大升級。除令全球無數程序員從中受益,甚至為之迷醉的——C++ 大師 Stanley B. Lippman 的豐富實踐經驗,C++標准委員會原負責人 Josée Lajoie 對C++標准的深入理解,以及C++ 先驅 Barbara E. Moo 在 C++教學方面的真知灼見外,更是基於全新的 C++11標准進行了全面而徹底的內容更新。非常難能可貴的是,《C++ Primer 中文版(第5版)》所有示例均全部采用 C++11 標准改寫,這在經典升級版中極其罕見——充分體現了 C++ 語言的重大進展及其全面實踐。書中豐富的教學輔助內容、醒目的知識點提示,以及精心組織的編程示范,讓這本書在 C++ 領域的權威地位更加不可動搖。無論是初學者入門,或是中、高級程序員提升,本書均為不容置疑的首選。 目錄《c++ primer中文版(第5版)》 第1章 開始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 指針和const56 2.4.3 頂層const57 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 標准庫類型string75 3.2.1 定義和初始化string對象76 3.2.2 string對象上的操作77 3.2.3 處理string對象中的字符81 3.3 標准庫類型vector86 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 使用istringstream287 8.3.2 使用ostringstream289 小結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 賦值和swap302 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 一個單詞轉換的map391 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_ptr417 12.1.6 weak_ptr420 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 使用=default449 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 可調用對象與function511 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::move610 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 定義和初始化tuple637 17.1.2 使用tuple返回多個值638 17.2 bitset類型640 17.2.1 定義和初始化bitset641 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_replace657 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和delete726 19.1.2 定位new表達式729 19.2 運行時類型識別730 19.2.1 dynamic_cast運算符730 19.2.2 typeid運算符732 19.2.3 使用rtti733 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 容器的非成員函數swap303 9.3.1 容器insert成員的返回類型308 9.3.1 容器的emplace成員的返回類型308 9.4 shrink_to_fit318 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 移動構造函數通常應該是noexcept473 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 有作用域的enum736 19.3 說明類型用於保存enum對象738 19.3 enum的提前聲明738 19.4.3 標准庫mem_fn類模板746 19.6 類類型的聯合成員751本圖書信息來源:互動出版網
本文出自 “china-pub網上書店” 博客,請務必保留此出處http://7744117.blog.51cto.com/7734117/1282895