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

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

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

定 價(jià):¥59.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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

本目錄推薦

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