注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具Effective STL中文版:50條有效使用STL的經(jīng)驗預售商品,預計05月25日到貨(雙色)

Effective STL中文版:50條有效使用STL的經(jīng)驗預售商品,預計05月25日到貨(雙色)

Effective STL中文版:50條有效使用STL的經(jīng)驗預售商品,預計05月25日到貨(雙色)

定 價:¥59.00

作 者: (美)梅耶 (Meyers,S.)著 潘愛民 陳銘 鄒開紅 譯.
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 程序設計 計算機/網(wǎng)絡

ISBN: 9787121201257 出版時間: 2013-05-01 包裝: 平裝
開本: 16 頁數(shù): 220 字數(shù):  

內(nèi)容簡介

  C++標準模板庫(STL)是革命性的,但是要想學會并用好卻并不容易。Scott Meyers(Effective C++與More effective c++的作者)揭示了專家 總結的一些關鍵規(guī)則,既有專家們總是采用的做法,也有專家們總是避免的做法。通過這些規(guī)則,STL程序員可以最大限度地使用STL。在講述50條指導原則時, 本書提供了透徹的分析和深刻的實例,以讓讀者學到要做什么,什么時候該這樣做,以及為什么要這樣做。

作者簡介

  ScottMeyers,世界頂級C++軟件開發(fā)技術權威之一。他是兩本暢銷書Effective C++和More EffectiveC++的作者,以前曾經(jīng)是C++Report的專欄作家。他經(jīng)常為C/C++ UsersJournal和Dr. Dobb's Journal撰稿,也為全球范圍內(nèi)的客戶做咨詢活動。他也是Advisory Boards for NumeriX LLC和InfoCruiser公司的成員。他擁有BrownUniversity的計算機科學博士學位。 潘愛民,任職于阿里云計算有限公司,擔任阿里云OS首席架構師。長期從事軟件和系統(tǒng)技術的研究與開發(fā)工作,撰寫了大量軟件技術文章,著譯了多部經(jīng)典計算機圖書,在國內(nèi)外學術刊物上發(fā)表了30多篇文章。曾經(jīng)任教于北京大學和清華大學(兼職)。后進入工業(yè)界,先后任職于微軟亞洲研究院、盛大網(wǎng)絡發(fā)展有限公司和阿里云計算有限公司。目前也是工信部移動操作系統(tǒng)專家組成員。潘愛民獲得了數(shù)學學士學位和計算機科學博士學位,主要研究領域包括軟件設計、信息安全、操作系統(tǒng)和互聯(lián)網(wǎng)技術。

圖書目錄

引言...............................................................................................................1 1 容器..........................................................................................9 第1 條:慎重選擇容器類型。............................................................... 9 第2 條:不要試圖編寫獨立于容器類型的代碼。.................................... 12 第3 條:確保容器中的對象拷貝正確而高效。....................................... 16 第4 條:調(diào)用empty 而不是檢查size()是否為0。................................... 18 第5 條:區(qū)間成員函數(shù)優(yōu)先于與之對應的單元素成員函數(shù)。............................ 20 第6 條:當心C++編譯器最煩人的分析機制。.................................................... 26 第7 條:如果容器中包含了通過new 操作創(chuàng)建的指針,切記在容器對象析構前將 指針delete 掉。......................................................................... 28 第8 條:切勿創(chuàng)建包含auto_ptr 的容器對象。......................................... 32 第9 條:慎重選擇刪除元素的方法。............................................................... 34 第10 條:了解分配子(allocator)的約定和限制。........................................... 38 第11 條:理解自定義分配子的合理用法。............................................. 44 第12 條:切勿對STL 容器的線程安全性有不切實際的依賴。......................... 47 2 vector 和string .....................................................................................51 第13 條:vector 和string 優(yōu)先于動態(tài)分配的數(shù)組。............................................. 51 第14 條:使用reserve 來避免不必要的重新分配。............................................. 53 第15 條:注意string 實現(xiàn)的多樣性。.......................................................... 55 第16 條:了解如何把vector 和string 數(shù)據(jù)傳給舊的API。.................................... 60 第17 條:使用“swap 技巧”除去多余的容量。................................................... 63 第18 條:避免使用vector<bool>。................................................................................. 64 3 關聯(lián)容器..........................................................................................................................67 第19 條:理解相等(equality)和等價(equivalence)的區(qū)別。...................................... 67 第20 條:為包含指針的關聯(lián)容器指定比較類型。........................................ 71 第21 條:總是讓比較函數(shù)在等值情況下返回false。.............................................. 74 第22 條:切勿直接修改set 或multiset 中的鍵。............................................... 77 第23 條:考慮用排序的vector 替代關聯(lián)容器。............................................... 82 第24 條:當效率至關重要時,請在map::operator[ ]與map::insert 之間謹慎做出選擇。..... ...................... 87 第25 條:熟悉非標準的散列容器。........................................................................... 91 4 迭代器..............................................................................................................95 第26 條:iterator 優(yōu)先于const_iterator、reverse_iterator 及const_reverse_iterator。.....95 第27 條:使用distance 和advance 將容器的const_iterator 轉(zhuǎn)換成iterator。............ 98 第28 條:正確理解由reverse_iterator 的base()成員函數(shù)所產(chǎn)生的iterator 的用法。.... ...................... 101 第29 條:對于逐個字符的輸入請考慮使用istreambuf_iterator。......................... 103 5 算法...............................................................................................................................106 第30 條:確保目標區(qū)間足夠大。....................................................................... 107 第31 條:了解各種與排序有關的選擇。................................................................110 第32 條:如果確實需要刪除元素,則需要在remove 這一類算法之后調(diào)用erase。...........115 第33 條:對包含指針的容器使用remove 這一類算法時要特別小心。.....................118 第34 條:了解哪些算法要求使用排序的區(qū)間作為參數(shù)。.................................. 121 第35 條:通過mismatch 或lexicographical_compare 實現(xiàn)簡單的忽略大小寫的字符 串比較。.................................................................. 124 第36 條:理解copy_if 算法的正確實現(xiàn)。............................................................. 128 第37 條:使用accumulate 或者for_each 進行區(qū)間統(tǒng)計。.................................... 130 6 函數(shù)子、函數(shù)子類、函數(shù)及其他...........................................................................135 第38 條:遵循按值傳遞的原則來設計函數(shù)子類。..................................... 135 第39 條:確保判別式是“純函數(shù)”。................................................................. 138 第40 條:若一個類是函數(shù)子,則應使它可配接。............................................... 141 第41 條:理解ptr_fun、mem_fun 和mem_fun_ref 的來由。................................. 145 第42 條:確保less<T>與operator<具有相同的語義。........................................ 148 7 在程序中使用STL ..............................................................................................152 第43 條:算法調(diào)用優(yōu)先于手寫的循環(huán)。................................................................. 152 第44 條:容器的成員函數(shù)優(yōu)先于同名的算法。........................................................ 159 第45 條:正確區(qū)分count、find、binary_search、lower_bound、upper_bound 和 equal_range。....... ...................... 161 第46 條:考慮使用函數(shù)對象而不是函數(shù)作為STL 算法的參數(shù)。.................................. 168 第47 條:避免產(chǎn)生“直寫型”(write-only)的代碼。................................................ 172 第48 條:總是包含(#include)正確的頭文件。................................................. 175 第49 條:學會分析與STL 相關的編譯器診斷信息。..................................... 176 第50 條:熟悉與STL 相關的Web 站點。........................................................... 183 參考書目........................................................................................189 附錄A 地域性與忽略大小寫的字符串比較.................................................193 附錄B 對Microsoft 的STL 平臺的說明..........................................202

本目錄推薦

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