More Exceptional C++是廣受贊譽是Exceptional C++的續(xù)篇,它采用了行之有效的“提問/解答”的組織形式,提供了用C++解決現(xiàn)實世界問題的成功策略。根據(jù)多年程序開發(fā)的實踐經(jīng)驗、Herb Sutter向C++程序員提供了久經(jīng)考驗的程序設計技術和行之有效的解決方案,這些技術和方案對設計從小型工程到企業(yè)級應用的現(xiàn)代軟件系統(tǒng)大有裨益。 圍繞著40個編程難題, More Exceptional C++引導你深刻理解成功的C++軟件設計和開發(fā)中至關重要的原則和議題。本續(xù)篇包括一些新的主題,強化了泛型程序設計、內(nèi)存管理、C++標準庫的使用等內(nèi)容,并涵蓋了traits和predicates這樣的重要技術。本書還就使用標準容器和算法時應該牢記的準則和要點進行了分析——其它資料很少深入涉及這一主題。讀者可以在本書中找到以下重要問題的解決方案:使用std::map和std::set時會遇到哪些陷阱?如何安全地避免這些陷阱?何種predicates可以安全地和STL一起使用?何種不行?為什么?想通過“與模板協(xié)同工作的類型”的能力改變模板自身的行為嗎?有什么現(xiàn)有的技術可以寫出這種威力強大的通用模板代碼?何時應該優(yōu)化你的代碼?如何優(yōu)化?為什么花哨的優(yōu)化會(而且的確會)讓我們陷入麻煩?如何你是在撰寫多線程安全代碼,這些問題的某些答案會如何變化?異常安全問題會影響到類的設計嗎?或者,它可以只是作為事后的改進手段來使用嗎?在結合使用不同供應商提供的基于繼承的程序庫時,如何避免連體雙嬰問題?如何安全地使用auto-ptr?如何運用常見的設計模式來改裝它,使之消除常見缺陷?可以將auto-ptr用作類的成員嗎?在這樣做之前,你應該了解些什么?還有,現(xiàn)代C++中最常見的問題之一:到底在何時使用名字空間?如何使用?More Exceptional C++是真正的程序員的必讀之物,在向你展示如何用C++撰寫優(yōu)質(zhì)代碼的同時,它為你提供了對語言徹底而實用的理解。作者Herb Sutter,他是C++軟件開發(fā)領域公認的專家:在世界各地的各種技術會議上,他經(jīng)常應邀發(fā)表演講。通過WWW.gotw.ca/eseminars,他每月數(shù)次在網(wǎng)上進行技術討論直播。作為130多篇技術文章的作者,Herb同時還是ISO/ANSI C++標準委員會委員、C/C++ User Journal的特約撰稿人和專欄作家、前C++ Report主編。其廣受歡迎的“C++ Guru of the Week”系列發(fā)布在C++語言最主要的互聯(lián)網(wǎng)新聞組comp.lang.c++.moderated上——自1995年問世以來,他就開始主持這一新聞組。他是Exceptional C++:47 Engineering Puzzles,Programming Problems,and Solutions(Addison-Wealey,2000)的作者。請于www.gotw.ca和他聯(lián)絡。www.aw.com/csenghttp://www.gotw.ca/publications/mxc++.htm譯者於春景(網(wǎng)名lostmouse),1993年畢業(yè)于中南工業(yè)大學計算機科學系,一直從事計算機軟件開發(fā)工作,現(xiàn)任深圳唯特科技公司軟件經(jīng)理。