More Effective C++:35個改善編程與設計的有效方法(中文版)

More Effective C++:35個改善編程與設計的有效方法(中文版) 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
[美] Scott Meyers 著,侯捷 譯



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-12-24

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 電子工業齣版社
ISBN:9787121125706
版次:1
商品編碼:10484020
品牌:Broadview
包裝:平裝
叢書名: 傳世經典書叢
開本:16開
齣版時間:2011-01-01
用紙:膠版紙
頁數:317
字數:500000
正文語種:中文


相關圖書





圖書描述

編輯推薦

  

海報:

data-lazyload=//img30.360buyimg.com//vc/g14/M08/0F/17/rBEhV1IwB4UIAAAAAAIxQpobzCEAADEfQAMMCoAAjFa842.jpg

內容簡介

  

  繼Effective C++之後,Scott Meyers於1996推齣這本“續集”。條款變得比較少,頁數倒是多瞭一些,原因是這次選材比“第一集”更高階,尤其是第5章。Meyers將此章命名為技術(techniques),並明白告訴你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……這一章的每個條款篇幅都達15~30 頁之多,實在讓人有“山重水復疑無路,柳暗花明又一村”之嘆。
  雖然齣版年代稍嫌久遠,但本書並沒有第2版,原因是當其齣版之時(1996),C++ Standard已經幾乎定案,《More Effective C++:35個改善編程與設計的有效方法(中文版)》即依當時的標準草案而寫,其與現今的C++ 標準規範幾乎相同。而且可能變化的幾個彈性之處,Meyers也都有所說明與提示。讀者可以登錄作者提供的網址,看看上下兩集的勘誤與討論(數量之多,令人驚恐。幸好多是技術討論或文字斟酌,並沒有什麼重大誤失)。
  讀者對象:程序設計學習者和在職開發人員。

作者簡介

  Scott Meyers,世界的C++軟件開發技術專業之一。他是兩本暢銷書EffectiveC++和More Effective C++的作者,以前曾經是C++ Report的專欄作傢。他經常為C/C++ UsersJournal和Dr. Dobb's Journal撰稿,也為全球範圍內的客戶做谘詢活動。他也是Advisory Boards forNumeriX LLC和InfoCruiser公司的成員。他擁有Brown University的計算機科學博士學位。
  侯捷,集計算機技術讀物之著、澤、評於一身,足《多態與虛擬》和《STL源碼剖析》的作者,《Run!Pc》雜誌、《程序員》雜誌的知名專欄作傢,也是極其號召力的大學教師與研討會講師。他於1989年獲得中國颱灣清華大學動機係碩士學位。

精彩書評

  

  ★《Effective c++》(ScottMeyers一本書)的榮耀:“對於任何渴望在中階或高階層麵精通c++的人,我慎重推薦《Effective c++》
  ——(The C/C++User's Journal)

目錄

導讀(Introduction)
基礎議題(Basics)
條款1:仔細區彆 pointers 和 references
Distinguish between pointers and references.
條款2:最好使用 C++ 轉型操作符
Prefer C++-style casts.
條款3:絕對不要以多態(polymorphically)方式處理數組
Never treat arrays polymorphically.
條款4:非必要不提供 default constructor
Avoid gratuitous default constructors.
操作符(Operators)
條款5:對定製的"類型轉換函數"保持警覺
Be wary of user-defined conversion functions.
條款6:區彆 increment/decrement 操作符的前置(prefix)和後置(postfix)形式
Distinguish between prefix and postfix forms of increment and decrement operators.
條款7:韆萬不要重載&&,||和, 操作符
Never overload &&, ||, or,.
條款8:瞭解各種不同意義的 new 和 delete
Understand the different meanings of new and delete

異常(Exceptions)
條款9:利用 destructors 避免泄漏資源
Use destructors to prevent resource leaks.
條款10:在 constructors 內阻止資源泄漏(resource leak)
Prevent resource leaks in constructors.
條款11:禁止異常(exceptions)流齣 destructors 之外
Prevent exceptions from leaving destructors.
條款12:瞭解"拋齣一個 exception"與"傳遞一個參數"或"調用一個虛函數"之間的差異
Understand how throwing an exception differs from passing a parameter or calling a virtual function.
條款13:以 by reference 方式捕捉 exceptions
Catch exceptions by reference.
條款14:明智運用 exception specifications
Use exception specifications judiciously.
條款15:瞭解異常處理(exception handling)的成本
Understand the costs of exception handling.

效率(Efficiency)
條款16:謹記 80-20 法則
Remember the 80-20 rule.
條款17:考慮使用 lazy evaluation(緩式評估)
Consider using lazy evaluation.
條款18:分期攤還預期的計算成本
Amortize the cost of expected computations.
條款19:瞭解臨時對象的來源
Understand the origin of temporary objects.
條款20:協助完成"返迴值優化(RVO)"
Facilitate the return value optimization.
條款21:利用重載技術(overload)避免隱式類型轉換(implict type conversions)
Overload to avoid implicit type conversions.
條款22:考慮以操作符復閤形式(op=)取代其獨身形式(op)
Consider using op= instead of stand-alone op.
條款23:考慮使用其他程序庫
Consider alternative libraries.
條款24:瞭解 virtual functions、multiple inheritance、virtual base classes、runtime type identification 的成本
Understand the costs of virtual functions, multiple inheritance,virtual base classes, and RTTI.

技術(Techniques, Idioms, Patterns)
條款25:將 constructor 和 non-member functions 虛化
Virtualizing constructors and non-member functions.
條款26:限製某個 class 所能産生的對象數量
Limiting the number of objects of a class.
條款27:要求(或禁止)對象産生於 heap 之中
Requiring or prohibiting heap-based objects.
條款28:Smart Pointers(智能指針)
條款29:Reference counting(引用計數)
條款30:Proxy classes(替身類、代理類)
條款31:讓函數根據一個以上的對象類型來決定如何虛化
Making functions virtual with respect to more than one object.

雜項討論(Miscellany)
條款32:在未來時態下發展程序
Program in the future tense.
條款33:將非尾端類(non-leaf classes)設計為抽象類(abstract classes)
Make non-leaf classes abstract.
條款34:如何在同一個程序中結閤 C++ 和 C
Understand how to combine C++ and C in the same program.
條款35:讓自己習慣於標準 C++ 語言
Familiarize yourself with the language standard.
推薦讀物
auto_ptr 實現代碼
索引(一)(General Index)
索引(二)(Index of Example Classes,Functions,and Templtes)

精彩書摘

  我們終於抵達瞭最後一站。本章內含難以歸類的準則。一開始的兩個條款討論C++軟件開發過程如何設計齣能夠容納日後變化的係統。是的,麵嚮對象方法應用於係統構造的一個強大力量就是,它支持日後的變化。這些條款描述瞭一些特定步驟,你可以用來強化你的軟件工事,抵抗這個拒絕停滯的世界帶來的刀戟箭弩。
  接下來我將驗證如何在同一個程序中結閤C和C++。這個需求導緻語言上的額外考慮,不過C++畢竟生存於真實世界之中,有時候我們必須麵對這樣的問題。
  最後,我把“C++標準規格”公開之後的各項語言變化做一番摘要整理。在此特彆涵蓋標準程序庫中翻天覆地的大變化(亦請參考條款E49)。如果你未曾密切跟隨標準化的腳步,對於這些變化可能會有很大的驚喜。是的,標準程序庫中有許多讓人愉悅的東西。條款32:在未來時態下發展程序世事永遠在變。身為軟件開發人員,我們可能不是知道得很多,但我們確切知道世事永遠在變。我們不一定知道改變的是什麼,改變如何到來,改變何時發生,或為什麼會發生,但我們真的知道:事情會改變。
  好的軟件對於變化有良好的適應能力。好的軟件可以容納新的性質,可以移植到新的平颱,可以適應新的需求,可以掌握新的輸入。軟件具備如此的彈性、健壯性、可信賴度,並非是天上掉下來的禮物,而是那些“即使麵對今天的束縛,仍然對明天可能的需求念茲在茲”的設計者和實現者共同努力的結果。
  ……

前言/序言

  C++ 是一門難學易用的語言!
  C++ 的難學,不僅在其廣博的語法、語法背後的語義、語義背後的深層思維、深層思維背後的對象模型;C++ 的難學,還在於它提供瞭4種不同(相輔相成)的編程思維模型:procedural-based,object-based,object-oriented,generic paradigm。
  世上沒有白吃的午餐。又要有效率,又要有彈性,又要前瞻望遠,又要迴溯相容,又要能治大國,又要能烹小鮮,學習起來當然就不可能太簡單。
  在如此龐大復雜的機製下,萬韆使用者前赴後繼的動力是:一旦學成,妙用無窮。
  C++ 相關書籍之多,車載鬥量,如天上繁星,如過江之鯽。廣博如四庫全書者有之(The C++ Programming Language、C++ Primer),深奧如重山復水者有之(The Annotated C++ Reference Manual, Inside the C++ Object Model),細說曆史者有之(The Design and Evolution of C++, Ruminations on C++),獨沽一味者有之(Polymorphism in C++, Genericity in C++),獨樹一幟者有之(Design Patterns, Large Scale C++ Software Design, C++ FAQs),程序庫大全有之(The C++ Standard Library),另闢蹊徑者有之(Generic Programming and the STL),工程經驗之纍積亦有之(Effective C++, More Effective C++, Exceptional C++)。
  這其中,“工程經驗之纍積”對已具 C++ 相當基礎的程序員而言,有著緻命的吸引力與立竿見影的幫助。Scott Meyers 的Effective C++ 和 More Effective C++ 是此類佼佼,Herb Sutter 的 Exceptional C++ 則是後起之秀。
  這類書籍的一個共同特色是輕薄短小,並且高密度地納入作者浸淫於 C++/OOP 領域多年而廣泛的經驗。它們不但開擴讀者的視野,也為讀者提供各種 C++/OOP 常見問題或易犯錯誤的解決模型。某些小範圍主題諸如“在base classes 中使用 virtual destructor”、“令operator= 傳迴 *this 的 reference”,可能在百科型 C++ 語言書籍中亦曾概略提過,但此類書籍以深度探索的方式,讓我們瞭解問題背後的成因、最佳的解法,以及其他可能的牽扯。至於大範圍主題,例如smart pointers,reference counting,proxy classes,double dispatching,基本上已屬design patterns的層級!
  這些都是經驗的纍積和心血的結晶!
  我很高興將以下兩本優秀書籍,規劃為一個係列,以鄭重的形式呈現給您:
  1.Effective C++ 2/e, by Scott Meyers, AW 1998
  2.More Effective C++, by Scott Meyers, AW 1996
  本書不但與英文版頁頁對譯,保留索引,並加上譯注、交叉索引 、讀者服務 。
  這套書將對於您的程序設計生涯帶來重大幫助。翻譯這套書籍的過程中,我感覺來自技術體會上的極大快樂。我祈盼(並相信)您在閱讀此書時擁有同樣的心情。


More Effective C++:35個改善編程與設計的有效方法(中文版) 下載 mobi epub pdf txt 電子書 格式

More Effective C++:35個改善編程與設計的有效方法(中文版) mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

More Effective C++:35個改善編程與設計的有效方法(中文版) 下載 mobi pdf epub txt 電子書 格式 2024

More Effective C++:35個改善編程與設計的有效方法(中文版) 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

經典、經典、經典

評分

書籍不錯,很棒。趁著618買一單。很便宜。京東快遞就是快。而且服務態度很好。就是看上京東這點好。纔選擇京東。

評分

趁活動先囤著,有時間慢慢看。

評分

重溫經典,希望能得到新的知識

評分

書非常好,放在購物車已經很久瞭,趕上年中的購物節非常高興,趕快把所有的書都買瞭,關鍵是一點便宜便宜便宜,重要的事兒說三遍

評分

經典好書,推薦。京東賣書不錯。

評分

c++進階遇上京東書香節優惠,nice!

評分

書裏麵有些討論例如返迴值優化、異常按引用捕捉、double dispatching等等,比較有意義。另外一些技巧和技術都隻能說是,在夾縫中求生存——付齣瞭很大的復雜度成本,但是效果十分有限,而且很難做得更好

評分

書活動的時候臨時提價我就不說瞭,終歸最終便宜瞭一點,平均一本書便宜瞭十塊左右吧。

類似圖書 點擊查看全場最低價

More Effective C++:35個改善編程與設計的有效方法(中文版) mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有