書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色)

傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色)

出版社:電子工業(yè)出版社出版時間:2020-11-01
開本: 其他 頁數(shù): 336
中 圖 價:¥57.9(6.5折) 定價  ¥89.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色) 版權(quán)信息

傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色) 本書特色

"這是一本輕薄短小高密度的“專家經(jīng)驗累積”。     如果你聲稱自己是個C++程序員之前,那你一定得讀過這本書。     認(rèn)真地讀完這本書,普通的C++程序員也可以搖身一變成為專家級C++程序員。     這是作者智慧的再一次提煉和升華,你沒理由還在原地踏步,趕緊閱讀這本書,迎頭趕上吧。"

傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色) 內(nèi)容簡介

有人說C++程序員可以分為兩類,讀過Effective C++的和沒讀過的。世界很好C++大師Scott Meyers成名之作的第三版的確當(dāng)?shù)闷疬@樣的評價。當(dāng)您讀過這本書之后,就獲得了迅速提升自己C++功力的一個契機。 在靠前上,本書所引起的反響,波及整個計算機技術(shù)的出版領(lǐng)域,余音至今未絕。幾乎在所有C++書籍的推薦名單上,本書都會位于前三名。作者高超的技術(shù)把握力、獨特的視角、詼諧輕松的寫作風(fēng)格、獨具匠心的內(nèi)容組織,都受到極大的推崇和仿效。這種奇特的現(xiàn)象,只能解釋為人們對這本書衷心的贊美和推崇。 這本書不是讀完一遍就可以束之高閣的快餐讀物,也不是用以解決手邊問題的參考手冊,而是需要您去反復(fù)閱讀體會的,C++是真正程序員的語言,背后后精神的思想與無以倫比的表達(dá)能力,這使得它具有類似宗教般的魅力。希望這本書能夠幫您跨越C++的重重險阻,領(lǐng)略高處才有的壯美風(fēng)光,做一個成功而快樂的C++程序員。

傳世經(jīng)典書叢Effective C++:改善程序與設(shè)計的55個具體做法(第三版)中文版(雙色) 目錄

譯序 vii
中英簡繁術(shù)語對照 ix
目錄 xvii
序言 xxi
致謝 xxiii
導(dǎo)讀 1
1. 讓自己習(xí)慣C++ 11
Accustoming Yourself to C++ 11
條款01:視C++ 為一個語言聯(lián)邦 11
View C++ as a federation of languages 11
條款02:盡量以const, enum, inline替換 #define 13
Prefer consts,enums, and inlines to #defines. 13
條款03:盡可能使用const 17
Use const whenever possible. 17
條款04:確定對象被使用前已先被初始化 26
Make sure that objects are initialized before they're used. 26
2. 構(gòu)造/析構(gòu)/賦值運算 34
Constructors, Destructors, and Assignment Operators 34
條款05:了解C++ 默默編寫并調(diào)用哪些函數(shù) 34
Know what functions C++ silently writes and calls. 34
條款06:若不想使用編譯器自動生成的函數(shù),就該明確拒絕 37
Explicitly disallow the use of compiler-generated functions you do not want. 37
條款07:為多態(tài)基類聲明virtual析構(gòu)函數(shù) 40
Declare destructors virtual in polymorphic base classes. 40
條款08:別讓異常逃離析構(gòu)函數(shù) 44
Prevent exceptions from leaving destructors. 44
條款09:絕不在構(gòu)造和析構(gòu)過程中調(diào)用virtual函數(shù) 48
Never call virtual functions during construction or destruction. 48
條款10:令operator= 返回一個reference to *this 52
Have assignment operators return a reference to *this. 52
條款11:在operator= 中處理“自我賦值” 53
Handle assignment to self in operator=. 53
條款12:復(fù)制對象時勿忘其每一個成分 57
Copy all parts of an object. 57
3. 資源管理 61
Resource Management 61
條款13:以對象管理資源 61
Use objects to manage resources. 61
條款14:在資源管理類中小心copying行為 66
Think carefully about copying behavior in resource-managing classes. 66
條款15:在資源管理類中提供對原始資源的訪問 69
Provide access to raw resources in resource-managing classes. 69
條款16:成對使用new和delete時要采取相同形式 73
Use the same form in corresponding uses of new and delete. 73
條款17:以獨立語句將newed對象置入智能指針 75
Store newed objects in smart pointers in standalone statements. 75
4. 設(shè)計與聲明 78
Designs and Declarations 78
條款18:讓接口容易被正確使用,不易被誤用 78
Make interfaces easy to use correctly and hard to use incorrectly. 78
條款19:設(shè)計class猶如設(shè)計type 84
Treat class design as type design. 84
條款20:寧以pass-by-reference-to-const替換pass-by-value 86
Prefer pass-by-reference-to-const to pass-by-value. 86
條款21:必須返回對象時,別妄想返回其reference 90
Don't try to return a reference when you must return an object. 90
條款22:將成員變量聲明為private 94
Declare data members private. 94
條款23:寧以non-member、non-friend替換member函數(shù) 98
Prefer non-member non-friend functions to member functions. 98
條款24:若所有參數(shù)皆需類型轉(zhuǎn)換,請為此采用non-member函數(shù) 102
Declare non-member functions when type conversions should apply to all parameters. 102
條款25:考慮寫出一個不拋異常的swap函數(shù) 106
Consider support for a non-throwing swap. 106
5. 實現(xiàn) 113
Implementations 113
條款26:盡可能延后變量定義式的出現(xiàn)時間 113
Postpone variable definitions as long as possible. 113
條款27:盡量少做轉(zhuǎn)型動作 116
Minimize casting. 116
條款28:避免返回handles指向?qū)ο髢?nèi)部成分 123
Avoid returning "handles" to object internals. 123
條款29:為“異常安全”而努力是值得的 127
Strive for exception-safe code. 127
條款30:透徹了解inlining的里里外外 134
Understand the ins and outs of inlining. 134
條款31:將文件間的編譯依存關(guān)系降至大力度優(yōu)惠 140
Minimize compilation dependencies between files. 140
6. 繼承與面向?qū)ο笤O(shè)計 149
Inheritance and Object-Oriented Design 149
條款32:確定你的public繼承塑模出is-a關(guān)系 150
Make sure public inheritance models "is-a." 150
條款33:避免遮掩繼承而來的名稱 156
Avoid hiding inherited names. 156
條款34:區(qū)分接口繼承和實現(xiàn)繼承 161
Differentiate between inheritance of interface and inheritance of implementation. 161
條款35:考慮virtual函數(shù)以外的其他選擇 169
Consider alternatives to virtual functions. 169
條款36:絕不重新定義繼承而來的non-virtual函數(shù) 178
Never redefine an inherited non-virtual function. 178
條款37:絕不重新定義繼承而來的缺省參數(shù)值 180
Never redefine a function's inherited default parameter value. 180
條款38:通過復(fù)合塑模出has-a或"根據(jù)某物實現(xiàn)出" 184
Model "has-a" or "is-implemented-in-terms-of" through composition. 184
條款39:明智而審慎地使用private繼承 187
Use private inheritance judiciously. 187
條款40:明智而審慎地使用多重繼承 192
Use multiple inheritance judiciously. 192
7. 模板與泛型編程 199
Templates and Generic Programming 199
條款41:了解隱式接口和編譯期多態(tài) 199
Understand implicit interfaces and compile-time polymorphism. 199
條款42:了解typename的雙重意義 203
Understand the two meanings of typename. 203
條款43:學(xué)習(xí)處理模板化基類內(nèi)的名稱 207
Know how to access names in templatized base classes. 207
條款44:將與參數(shù)無關(guān)的代碼抽離templates 212
Factor parameter-independent code out of templates. 212
條款45:運用成員函數(shù)模板接受所有兼容類型 218
Use member function templates to accept "all compatible types." 218
條款46:需要類型轉(zhuǎn)換時請為模板定義非成員函數(shù) 222
Define non-member functions inside templates when type conversions are desired. 222
條款47:請使用traits classes表現(xiàn)類型信息 226
Use traits classes for information about types. 226
條款48:認(rèn)識template元編程 233
Be aware of template metaprogramming. 233
8. 定制new和delete 239
Customizing new and delete 239
條款49:了解new-handler的行為 240
Understand the behavior of the new-handler. 240
條款50:了解new和delete的合理替換時機 247
Understand when it makes sense to replace new and delete. 247
條款51:編寫new和delete時需固守常規(guī) 252
Adhere to convention when writing new and delete. 252
條款52:寫了placement new也要寫placement delete 256
Write placement delete if you write placement new. 256
9. 雜項討論 262
Miscellany 262
條款53:不要輕忽編譯器的警告 262
Pay attention to compiler warnings. 262
條款54:讓自己熟悉包括TR1在內(nèi)的標(biāo)準(zhǔn)程序庫 263
Familiarize yourself with the standard library, including TR1. 263
條款55:讓自己熟悉Boost 269
Familiarize yourself with Boost. 269
A 本書之外 273
B 新舊版條款對映 277
索引 280
展開全部
商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服