注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)Effective C++

Effective C++

Effective C++

定 價:¥40.00

作 者: (美)Scott Meyers著
出版社: 中國電力出版社
叢編項: 原版風(fēng)暴·深入C++系列
標(biāo) 簽: C++

ISBN: 9787508314983 出版時間: 2003-05-21 包裝: 膠版紙
開本: 23cm 頁數(shù): 260 字?jǐn)?shù):  

內(nèi)容簡介

  本書第一版曾創(chuàng)下銷售100000本的輝煌業(yè)績,并被翻譯成四種語言,其原因不言自明。Scott Meyers的C++實用方法描述了編程專家所采用的規(guī)則,即他們幾乎總是在做或總是在避免的事。遵循這些規(guī)則可以產(chǎn)生整潔、正確和高效的代碼。本書的50個條款總結(jié)了編寫更好的C++程序的方法,并配有特定的例子。在這一新版本中,Meyers重寫了每個條款。這使得本書格外緊密地結(jié)合了C++國際標(biāo)準(zhǔn)、當(dāng)前編譯器技術(shù)以及對C++實際應(yīng)用的最新洞察。本書將繼續(xù)成為所有C++開發(fā)人員的必備讀物。

作者簡介

  ScottMeyersScottMeyers:世界頂級的C++軟件開發(fā)技術(shù)權(quán)威之一。他是兩本暢銷書EffectiveC++和MoreEffectiveC++的作者,以前曾經(jīng)是C++Report的專欄作家。他經(jīng)常為C/C++UsersJournal和Dr.Dobb'sJournal撰稿,也為全球范圍內(nèi)的客戶做咨詢活動。他也是AdvisoryBoardsforNumeriXLLC和InfoCruiser公司的成員。他擁有BrownUniversity的計算機(jī)科學(xué)博士學(xué)位。>>更多作品

圖書目錄

Preface</font><br>Acknowledgements</font><br>Introduction</font><br></font><br>Shifting From C to C++</font><br></font><br>Items 1:Prefer const and inline to #define</font><br>Items 2:Prefer iostream to stdio.h</font><br>Items 3:Prefer new and delete to malloc and free</font><br>Items 4:Prefer C++-style comments</font><br></font><br>Memory Management</font><br></font><br>Items 5:Use the same form in corresponding uses of new and delete</font><br>Items 6:Use delete on pointer members in destructors</font><br>Items 7:Be prepared for out-of-memory conditions</font><br>Items 8:Adhere to convention when writing operator new and operator delete</font><br>Items 9:Avoid hiding the "normal" form of new</font><br>Items 10:Write operator delete if you write operator new</font><br></font><br>Constructors, Destructors, and Assignment Operators</font><br></font><br>Items 11:Declare a copy constructor and an assignment operator for classes with dynamically allocated memory</font><br>Items 12:Prefer initialization to assignment in constructors</font><br>Items 13:List members in an initialization list in the order in which they are declared</font><br>Items 14:Make destructors virtual in base classes</font><br>Items 15:Have operator return a reference to *this</font><br>Items 16:Assign to all data members in operator</font><br>Items 17:Check for assignment to self in operator</font><br></font><br>Classes and Functions: Design and Declaration</font><br></font><br>Items 18:Strive for class interfaces that are complete and minimal</font><br>Items 19:Differentiate among member functions, non-member functions, and friend functions</font><br>Items 20:Avoid data members in the public interface</font><br>Items 21:Use const whenever possible</font><br>Items 22:Prefer pass-by-reference to pass-by-value</font><br>Items 23:Don't try to return a reference when you must return an object</font><br>Items 24:Choose carefully between function overloading and parameter defaulting</font><br>Items 25:Avoid overloading on a pointer and a numerical type</font><br>Items 26:Guard against potential ambiguity</font><br>Items 27:Explicitly disallow use of implicitly generated member functions you don't want</font><br>Items 28:Partition the global namespace</font><br></font><br>Classes and Functions: Implementation</font><br></font><br>Items 29:Avoid returning "handles" to internal data</font><br>Items 30:Avoid member functions that return non-const pointers or references to members less accessible than themselves</font><br>Items 31:Never return a reference to a local object or to a dereferenced pointer initialized by new within the function</font><br>Items 32:Postpone variable definitions as long as possible</font><br>Items 33:Use inlining judiciously</font><br>Items 34:Minimize compilation dependencies between files</font><br></font><br>Inheritance and Object-Oriented Design</font><br></font><br>Items 35:Make sure public inheritance models "isa." </font><br>Items 36:Differentiate between inheritance of interface and inheritance of implementation</font><br>Items 37:Never redefine an inherited nonvirtual function</font><br>Items 38:Never redefine an inherited default parameter value</font><br>Items 39:Avoid casts down the inheritance hierarchy</font><br>Items 40:Model "has-a" or "is-implemented-in-terms-of" through layering</font><br>Items 41:Differentiate between inheritance and templates</font><br>Items 42:Use private inheritance judiciously</font><br>Items 43:Use multiple inheritance judiciously</font><br>Items 44:Say what you mean; understand what you're saying</font><br></font><br>Miscellany</font><br></font><br>Items 45:Know what functions C++ silently writes and calls</font><br>Items 46:Prefer compile-time and link-time errors to runtime errors</font><br>Items 47:Ensure that non-local static objects are initialized before they're used</font><br>Items 48:Pay attention to compiler warnings</font><br>Items 49:Familiarize yourself with the standard library</font><br>Items 50:Improve your understanding of C++</font><br></font><br>Afterword</font><br>Index

本目錄推薦

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