注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具Effective C++ Third Edition:改善程序技術(shù)與設(shè)計(jì)思維的55個(gè)有效做法(英文版)

Effective C++ Third Edition:改善程序技術(shù)與設(shè)計(jì)思維的55個(gè)有效做法(英文版)

Effective C++ Third Edition:改善程序技術(shù)與設(shè)計(jì)思維的55個(gè)有效做法(英文版)

定 價(jià):¥45.00

作 者: (美)瑪雅爾斯(Meyers,S.) 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: C++

ISBN: 9787121008276 出版時(shí)間: 2006-03-01 包裝: 膠版紙
開本: 小16開 頁數(shù): 297 字?jǐn)?shù):  

內(nèi)容簡介

  有人說C++程序員可以分成兩類,讀過Effective C++的和沒讀過的。然而世界頂級(jí)C++大師Scott Meyers成名之作的第三版的確這樣深入?;蛟S有點(diǎn)夸張了,但無論如何,當(dāng)您擁有這本書之后,就獲得了迅速提升自己C++功力的一個(gè)契機(jī)。在國際上﹐本書所引起的反響之大﹐波及整個(gè)計(jì)算器技術(shù)出版領(lǐng)域﹐余音至今未絕。幾乎在所有C++書籍的推薦名單上﹐本書都會(huì)位于前三名。作者高超的技術(shù)把握力﹐獨(dú)特的視角﹑詼諧輕松的寫作風(fēng)格﹑獨(dú)具匠心的內(nèi)容組織﹐都受到極大的推崇和仿效。甚至連本書簡潔明快的命名風(fēng)格﹐也有著一種特殊的號(hào)召力﹐我可以輕易列舉出一大堆類似名字﹐比如Meyers本人的More Effective C++和Effective STL﹐Don Box的EffectiveCOM﹐Stan Lippman主編的Efficient C++系列﹐Herb Sutter的Exceptional C++等等。要知道﹐這可不是出版社的有意安排﹐而且上面這些作者﹐同樣是各自領(lǐng)域里的絕頂大師﹐決非人云亦云﹑欺世盜名之輩。這種奇特的現(xiàn)象﹐只能解釋為人們對(duì)這本書衷心的贊美和推崇。這本書不是讀完一遍就可以束之高閣的快餐讀物,也不是能夠立刻解決手邊問題的參考手冊(cè),而是需要您去反復(fù)閱讀體會(huì),極力融入自己思想之中,融入自己每一次敲擊鍵盤的動(dòng)作之中。C++是真正程序員的語言,背后有著精深的思想與無以倫比的表達(dá)能力,這使得它具有類似宗教般的魅力。希望這本書能夠幫助您跨越C++的重重險(xiǎn)阻,領(lǐng)略高處才有的壯美,做一個(gè)成功而快樂的C++程序員。

作者簡介

  Scott Meyers,is one of the world s foremost experts on C++ software development He is author of the best-selling Effective C++ series (Effective C++,More Effective C++,and Effective STL) ,designer and author of the innovative Effective C++ CD,consulting editor for Addison-Wesley s Effective Software Development Series;and a member of theadvisory board for Software Development magaxine.He has served on the technical advisory boards for seveal start-up companies Meyers received his Ph,D,ln computer science from Brown University in 1993.His web site is www.aristeia.com.

圖書目錄

Preface xv
Acknowledgments xvii
Introduction    1
Chapter 1:Accustoming Yourselft0 C++    11
  Item 1:View C++as a flederation oflanguages.    11
  Item 2:Prefler consts,enums,and inlines to #defines.    13
  Item 3:Use const whenever pOSSible.17
  Item 4:Make sure that objects are initialized before they're used. 26
Chapter 2:C0nstI'Uctors,DestI'Uctors,and
    Assignment operators    34
  Item 5:Know what functions C++silently writes and calls.    34
  Item 6:Explicitly disanOW the use of compilergenerated
    functions yOH do not want.    37
  Item 7:Declare destruetors virtual in polymorphic base dasses.    40
  Item 8:Prevent exceptions flrom leaVing destructors.    44
  Item 9:Never call Virtual functions during construetion Or destruction.    48
  Item 10:Have assignment operators return a reference tO*this.    52
  Item 11:Handle assignment to self in operator=.    53
  Item 19:CoPY a11 parts 0fan 0bject.    57
Chapter 3:Resource ManageInent    61
  Item 13:Use objects to manage resources.    61
    Item 14:Think carefully about copying behavior in resource-managing cIasses.    66
    Item 15:Provide access t0 raw resources in resourcemanaging classes.69
    Item 16:Use the same form in corresponding uses 0f new and delete.73
    Item 17:store newed 0bjects in smart pointers in standalone statements.75
Chapter 4:Designs and Declarations 78
    Item 18:Make interfaces easy t0 use correctly and hard t0 use incorrectly.    78
    Item 19:Treat claSS design as type design.    84
    Item 20:Prefer pass-by-reference-to-const t0 pass_by-value.    86
    Item 21:Don’try to return a refefence when you must return an o bject.    90
    Item 22:Declare data members private.    q4
    Item 23:Prefer non-member non-friend functions to member functions.    98
    Item 24:Declare non-member functions when type
    conversions shonld apply to a11 parameters.    102
  Item 25:Consider SUpport for a non-throwing swap.    106
Chapter 5:Implementations    113
    Item 26:P0stpone variable definitions as 10ng as possible.  113
    Item 27:Minimize casting.    116
    Item 28:Avoid returning“handles”to object internals. 123
    Itam 29:strive for exception-safe code.    127
    Item 30:Understand the ins and outs 0f inlining.    134
    Item 31:Minimize compilation dependencies between files.    140
Chapter 6:Inheritance and 0bject一0riented Design    149
Item 32:Make sure public inheritance models“is-a.”    150
Item 33:Avoid hiding inherited names.    156
Item 34:DifieFentiate between inheritance of interface and
    inheritance of implementation.161
  Item 35:COIlSider alternatives to virtual functions.    169
  Item 36:Never redefine an inherited non-virtnal fLlnction.    178
   Item 37: Never redefine a function's inherited default parameter value.           18o
   Item 38: Model "has-a" or is-implemented-in-terms-of' through composition.    184
   Item 39: Use private inheritance judiciously.        187
   Item 40: Use multiple inheritance judiciously.           192
Chapter 7: Templates and Generic Programming        199
   Item 41: Understand implicit interfaces and compiletime polymorphism.  199
   Item 42: Understand the two meanings of typename.       203
   Item 43: Know how to access names in templatized base classes.    207
   Item 44: Factor parameter-independent code out of templates. 219
   Item 45: Use member function templates to accept "all compatible types."        218
   Item 46: Define non-member functions inside templates
when type conversions are desired. 222
  Item 47: Use traits classes for information about types.      226
  Item 48: Be aware of template metaprogramming.           233
Chapter 8: Customizing new and delete                 939
  Item 49: Understand the behavior of the new-handler.          240
  Item 5o: Understand when it makes sense to replace new and delete.   247
  Item 51: Adhere to convention when writing new and delete.         252
  Item 52: Write placement delete if you write placement new.        256
Chapter 9: Miscellany                  262
  Item 53: Pay attention to compiler warnings.              262
  Item 54: Familiarize yourself with the standard library, including TR1.           263
  Item 55: Familiarize yourself with Boost.                      269
Appendix A: Beyond Effective C++ 273
Appendix B: Item Mappings Between Second  and Third Editions  977
Index                        280

本目錄推薦

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