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

中文版Effective STL:50條有效使用STL的經(jīng)驗(yàn)

中文版Effective STL:50條有效使用STL的經(jīng)驗(yàn)

定 價(jià):¥49.00

作 者: (美)Scott Meyers 著,潘愛民 陳銘 鄒開紅 譯
出版社: 科學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

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

內(nèi)容簡介

 ?。ā叭赵壬敝v述堪憂的日本經(jīng)濟(jì):我擔(dān)憂安倍晉三眼界不夠開闊,最終會(huì)受到狹隘民族主義的制約?。〤++的標(biāo)準(zhǔn)模板庫(STL)是革命性的技術(shù),但是要想用好STL卻并不容易。在《中文版Effective STL:50條有效使用STL的經(jīng)驗(yàn)》中,暢銷書作家ScottMeyers(EffectiveC++和MoreEffectiveC++的作者)揭示了專家總結(jié)的一些關(guān)鍵規(guī)則,包括專家們總是采用的做法,以及專家們總是避免的做法。通過這些規(guī)則,程序員可以高效地使用STL。一般書主要描述了STL中有些什么內(nèi)容,而《中文版Effective STL:50條有效使用STL的經(jīng)驗(yàn)》則重點(diǎn)講述了如何使用STL。本書共有50條指導(dǎo)原則,在講述每一條原則的時(shí)候,ScottMeyers都提供了透徹的分析和詳盡的實(shí)例,所以讀者不僅可以學(xué)到要做什么,而且還能夠知道什么時(shí)候該這樣做,以及為什么要這樣做。

作者簡介

  Scott Meyers,世界頂級(jí)的C++軟件開發(fā)技術(shù)權(quán)威之一。他是兩本暢銷書Effective C++和More Effective C++的作者,以前曾經(jīng)是C++ Report的專欄作家。他經(jīng)常為C/C++ Users Journal和Dr. Dobb's Journal撰稿,也為全球范圍內(nèi)的客戶做咨詢活動(dòng)。他也是Advisory Boards for NumeriX LLC和Info Cruiser公司的成員。他擁有Brown University的計(jì)算機(jī)科學(xué)博士學(xué)位。

圖書目錄

目 錄
引言 1
第1章 容器 10
第1條:慎重選擇容器類型。 10
第2條:不要試圖編寫?yīng)毩⒂谌萜黝愋偷拇a。 13
第3條:確保容器中的對象副本正確而高效。 18
第4條:調(diào)用empty而不是檢查size()是否為0。 21
第5條:區(qū)間成員函數(shù)優(yōu)先于與之對應(yīng)的單元素成員函數(shù)。 22
第6條:當(dāng)心C++編譯器最煩人的分析機(jī)制。 30
第7條:如果容器中包含了通過new操作創(chuàng)建的指針,切記在容器對象
析構(gòu)前將指針delete掉。 33
第8條:切勿創(chuàng)建包含auto_ptr的容器對象。 37
第9條:慎重選擇刪除元素的方法。 40
第10條:了解分配子(allocator)的約定和限制。 45
第11條:理解自定義分配子的合理用法。 51
第12條:切勿對STL容器的線程安全性有不切實(shí)際的依賴。 55
第2章 vector和string 59
第13條:vector和string優(yōu)先于動(dòng)態(tài)分配的數(shù)組。 59
第14條:使用reserve來避免不必要的重新分配。 61
第15條:注意string實(shí)現(xiàn)的多樣性。 64
第16條:了解如何把vector和string數(shù)據(jù)傳給舊的API。 68
第17條:使用“swap技巧”除去多余的容量。 72
第18條:避免使用vector。 74
第3章 關(guān)聯(lián)容器 78
第19條:理解相等(equality)和等價(jià)(equivalence)的區(qū)別。 78
第20條:為包含指針的關(guān)聯(lián)容器指定比較類型。 83
第21條:總是讓比較函數(shù)在等值情況下返回false。 87
第22條:切勿直接修改set或multiset中的鍵。 90
第23條:考慮用排序的vector替代關(guān)聯(lián)容器。 96
第24條:當(dāng)效率至關(guān)重要時(shí),請?jiān)趍ap::operator[ ]與map::insert之間
謹(jǐn)慎做出選擇。 102
第25條:熟悉非標(biāo)準(zhǔn)的散列容器。 107
第4章 迭代器 112
第26條:iterator優(yōu)先于const_iterator、reverse_iterator以及
第27條:使用distance和advance將容器的const _iterator轉(zhuǎn)換成iterator。 116
第28條:正確理解由reverse_iterator的base()成員函數(shù)所產(chǎn)生的
iterator的用法。 119
第29條:對于逐個(gè)字符的輸入請考慮使用istreambuf_iterator。 122
第5章 算法 125
第30條:確保目標(biāo)區(qū)間足夠大。 126
第31條:了解各種與排序有關(guān)的選擇。 130
第32條:如果確實(shí)需要?jiǎng)h除元素,則需要在remove這一類算法之后
調(diào)用erase。 136
第33條:對包含指針的容器使用remove這一類算法時(shí)要特別小心。 140
第34條:了解哪些算法要求使用排序的區(qū)間作為參數(shù)。 143
第35條:通過mismatch或lexicographical_compare實(shí)現(xiàn)簡單的忽略大小寫
的字符串比較。 147
第36條:理解copy_if算法的正確實(shí)現(xiàn)。 151
第37條:使用accumulate或者for_each進(jìn)行區(qū)間統(tǒng)計(jì)。 154
第6章 函數(shù)子、函數(shù)子類、函數(shù)及其他 160
第38條:遵循按值傳遞的原則來設(shè)計(jì)函數(shù)子類。 160
第39條:確保判別式是“純函數(shù)”。 164
第40條:若一個(gè)類是函數(shù)子,則應(yīng)使它可配接。 168
第41條:理解ptr_fun、mem_fun和mem_fun_ref的來由。 172
第42條:確保less與operator<具有相同的語義。 176
第7章 在程序中使用STL 181
第43條:算法調(diào)用優(yōu)先于手寫的循環(huán)。 181
第44條:容器的成員函數(shù)優(yōu)先于同名的算法。 189
第45條:正確區(qū)分count、find、binary_search、lower_bound、upper_bound
和equal_range。 192
第46條:考慮使用函數(shù)對象而不是函數(shù)作為STL算法的參數(shù)。 201
第47條:避免產(chǎn)生“直寫型”(write-only)的代碼。 206
第48條:總是包含(#include)正確的頭文件。 209
第49條:學(xué)會(huì)分析與STL相關(guān)的編譯器診斷信息。 210
第50條:熟悉與STL相關(guān)的Web站點(diǎn)。 218
參考文獻(xiàn) 225
附錄A 地域性與忽略大小寫的字符串比較 229
附錄B 對Microsoft的STL平臺(tái)的說明 239

本目錄推薦

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