Effective C++ CD中文版

AMin2001 2003-04-19 12:21:19
我在我的网站http://www.enginedev.com放上了我制作的Effective C++ CD中文版,内含Effective C++和More Effective C++,交叉索引。想学好C++的朋友千万不要错过。:)
...全文
36 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
這本書是多年來我對專業程式員所做的C++ 教學課程下的一個自然產物。我發現,大部份學生在一個星期的密集訓練之後,即可適應這個語言的基本架構,但要他們「將這些基礎架構以有效的方式組合運用」,我實在不感樂觀。於是我開始嘗試組織出一些簡短、明確、容易記憶的準則,做為C++ 高實效性程式開發過程之用。那都是經驗豐富的C++ 程式員幾乎總是會奉行或幾乎肯定要避免的一些事情。 我最初的興趣在於整理出一些可被某種「lint-like 程式」施行的規則,最後我甚至領導一個計劃,研究某種可將C++ 原始碼中違反使用者指定條件之處檢驗出來的工具(你可以在Effective C++ 網站上找到此研究的一份概要報告)。不幸的是在我尚未完成其完整原型之前,這個研究計劃便結束了。幸運的是,目前市面上已有這類C++ 檢驗工具(商品),而且不只一個。 雖然我最初的興趣是在研究可被(某種工具)自動實施的程式設計準則,但我很快瞭解到那個研究方向的侷限性。優秀的C++ 程式員所奉行的準則,多數都難以「公式化」;要不就是雖然它們有許多重要的例外情況,卻被程式員盲目地奉行不渝。這使我念頭一轉:某些東西雖然不比電腦程式精準,但仍能比一本泛泛的C++ 教科書更集中火力,更打到重點。這個念頭的結果就是你手上這本書:一本內含50 個有效建議(如何改善你的C++ 程式技術和你的設計思維)的書。 在這本書中,你會發現一些忠告,告訴你應該做些什麼,為什麼如此;告訴你不應該做些什麼,又為什麼如此。基本而言當然whys 比whats 更重要,但檢閱一列列準則,也確實比強記一本或兩本教科書更輕鬆更方便得多。 和大部份的C++ 書籍不同,我的組織方式並非以語言特性做為依據。也就是說我並不在某處集中討論constructors(建構式),在另一處集中討論virtual functions (虛擬函式),又在第三個地方集中討論inheritance(繼承機制)。不,不是這樣,本書的每一個討論主題都剪裁合度地以一個個準則陳列出來。至於我對某特定語言性質的探討,散佈面積可能涵蓋整本書。 這種作法的優點就是比較容易反映出「特意挑選C++ 做為開發工具」的那些軟體系統的複雜度。在那些系統之中,光只瞭解個別語言特性是不夠的。例如,有經驗的C++ 程式員知道,瞭解inline 函式和瞭解virtual destructors,並不一定表示你瞭解inline virtual destructors。身經百戰的開發人員都認知到,理解C++ 各個特性之間的互動關係,才是有效使用這個語言的最重要關鍵。本書組織反映出這一基本事實。 這種作法的缺點是,你恐怕必須前後交叉參考而非只看一個地方,才能發現我所說的某個C++ 架構的全貌。為了將不方便性降至最低,我在書中各處放了許多交叉索引,書後並有一份涵蓋全部範圍的索引。(譯註:為了協助讀者更容易掌握 Effective C++ 和More Effective C++ 二書,我以Effective C++ CD 為本,為兩書的中文版額外加上兩書之間的交叉索引。此乃原書所無。如果文中出現像條款 M5 這樣的參考指示,M 便是代表More Effective C++) 籌劃第二版期間,我改寫此書的雄心一再被恐懼所取代。成千上萬的程式員熱情擁抱Effective C++ 第一版,我不希望破壞吸引他們的任何東西。但是自從我寫了第一版之後,六年過去了,C++ 有了變化,C++ 程式庫有了變化(見條款49),我對C++ 的瞭解也有了變化,乃至於C++ 的用途也有了變化。許許多多的變化。對我而言,重要的是我必須修訂Effective C++ 以反映那些變化。我嘗試一頁一頁地修改內容,但是書籍和軟體十分類似,局部加強是不夠的,唯一的機會就是系統化地重寫。本書就是重寫後的結果:Effective C++ 2.0 版。 熟悉第一版的讀者,可能有興趣知道,書中的每一個條款都經過重新檢驗。然而我相信第一版的結構至今仍是流暢的,所以整本書的結構並沒有改變。50 個條款中,我保留了48 個,其中某些標題稍有變化(附隨的討論內容亦復如此)。退休下來(被取代的)兩個條款是32 和49,不過原條款32 的許多資訊被我移到如今煥然一新的條款1 中。我將條款41 和42 的次序做了對調,因為這樣比較能夠適當呈現它們修訂後的內容。最後,我把上一版繼承體系圖所採用的箭頭方向顛倒過來,以符合目前幾乎已經一致的習慣:從derived classes 指往base classes。我的More Effective C++ 一書也採用相同習慣(本書最後列有該書摘要)。 本書提供的準則,離鉅細糜遺的程度還很遠,但是完成一個好的準則— 一個幾乎可於任何時間應用於任何程式的準則,動手遠比動嘴困難得多。如果你知道其他準則,可以協助撰寫有效的C++ 程式,我非常樂意聽到你告訴我它們的故事。 此外,說不定你會覺得本書的某些條款不適合成為一般性忠告;或許你認為另有比較好的方法來完成書中所說的任務;或許你認為某些條款在技術討論方面不夠清楚,不夠完全,抑或有誤導之嫌。我衷心盼望你也能夠讓我知道你的這些想法。 Donald Knuth(譯註:經典書籍The Art of Computer Programming, Volume I,II,III 的作者)長久以來為挑出其書錯誤的熱心讀者準備有一份小小的報酬。這個故事傳為美談。追求完美的精神令人佩服。看過那麼多倉促上市錯誤壘壘的C++ 書籍後,我更是特別強烈地希望踵隨Knuth 的風範。因此,如果有人挑出本書的任何錯誤並告訴我— 不論是技術、文法、錯別字、或任何其他東西— 我將在本書新刷的時候,把第一位挑出錯誤的讀者大名加到致謝名單中。 請將你的建議、你的見解、你的批評、以及(喔…真糟…)你的臭蟲報告,寄至: Scott Meyers c/o Publisher, Corporate and Professional Publishing Addison Wesley Longman, Inc. 1 Jacob Way Reading, MA 01867 U. S. A. 或者傳送電子郵件到ec++@awl.com。 我維護有本書第一刷以來的修訂記錄,其中包括錯誤更正、文字修潤、以及技術更新。你可以從Effective C++ 網站取得這份記錄。如果你希望擁有這份資料,但無法上網,請寄申請函到上述地址,我會郵寄一份給你。 Scott Douglas Meyers Stafford, Oregon July 1997
有人说C++程序员可以分成两类,读过Effective C++的和没读过的。世界顶级C++大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过《Effective C++中文版(第3版改善程序与设计的55个具体做法)》后,就获得了迅速提升自己C++功力的一个契机。     在国际上,本书所引起的反响,波及整个计算机技术出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。     《Effective C++中文版(第3版改善程序与设计的55个具体做法)》不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是... (展开全部)    作者简介 · · · · · ·   Scott Meyers是全世界最知名的C++软件开发专家之一。他是畅销书《Effective C++》系列(Effective C++,More Effective C++,Effective STL)的作者,又是创新产品《Effective C++ CD》的设计者和作者,也是Addison-Wesley的“Effective Software Development Series"顾问编辑,以及《Software Development》杂志咨询板成员。他也为若干新公司的技术咨询板提供服务。Meyers于1993年自Brown大学获得计算机博士学位。他的网址是www,aristeia.com.
 有人说c++程序员可以分为两类,读过effective c++的和没读过的。世界顶级c++大师scott meyers成名之作的第三版的确当得起这样的评价。当您读过这本书之后,就获得了迅速提升自己c++功力的一个契机。   在国际上,本书所引起的反响,波及整个计算机技术的出版领域,余音至今未绝。几乎在所有c++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。   这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,c++是真正程序员的语言,背后有着精深的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮您跨越c++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的c++程序员   Scott Meyers是全世界最知名的C++软件开发专家之一。他是畅销书《Effective C++》系列(Effective C++,More Effective C++Effective STL)的作者,又是创新产品《Effective C++ CD》的设计者和作者,也是Addison-Wesley的“Effective Software Development Series”顾问编辑,以及《Software Development》杂志咨询板成员。他也为若干新公司的技术咨询板提供服务。Meyers于1993年自Brown大学获得计算机博士学位。侯捷是计算机技术书籍的作家、译者、书评人

70,028

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧