出版時間:2009 出版社:清華大學(xué)出版社 作者:Stephen C. Dewhurst 頁數(shù):275 譯者:高博
Tag標(biāo)簽:無
前言
經(jīng)過近一年的工作,這本幾百頁的小冊子終于和大家見面了。 這本書從一個讀者的角度來看,當(dāng)然主要地可以視為是對于當(dāng)之無愧的C++大師Stephenc.Dewhurst在近15年前原創(chuàng)的一本技術(shù)書籍的譯作。但如果從譯者的本意出發(fā),它未嘗不可以說是我本人10年來學(xué)習(xí)c++、領(lǐng)悟c++和運(yùn)用C++的一個小結(jié)。2005年起,我開始陸、續(xù)在論壇中發(fā)表一些零碎的技術(shù)文章和翻譯作品,并在企業(yè)和大學(xué)里作了一些演講。和真正的一線工程師,以及即將踏上工程師崗位的同道們作了一些比較深入的交流之后,我才真真切切地感受到他們對于將書本知識轉(zhuǎn)化為真正實力的那種熱切的渴求。現(xiàn)在每年出版的有關(guān)C++的書籍車載斗量,但是如何能把這些“知識”盡可能多地轉(zhuǎn)化成工程師手中對付真正的項目需求的“武器”?我感到自己負(fù)有責(zé)任來做一些工作,來對這個問題做出自己嘗試性的解答。那么,最好的方式是創(chuàng)作一本新書嗎?經(jīng)過再三的權(quán)衡,我認(rèn)為并非如此。作為一個未在C/C++Users Journal或是Dr.Dobb上發(fā)表過任何文字的人,原創(chuàng)很難企及自己欲達(dá)成的號召力。并且,原創(chuàng)的話就意味著要自己照顧一切技術(shù)細(xì)節(jié),我絕沒有自大到認(rèn)為自己已經(jīng)有了那種實力的程度。可是,是否僅僅再去翻譯一本新的C++著作呢?那也不是。C++近幾年來已不比往昔,新著作的翻譯效率簡直高得驚人,但單純的翻譯工作其實并不能消除讀書人的費解。那么,我就想到:為什么不能挑選一本書,一方面將它翻譯過來,另一方面以它作為“藍(lán)本”,將自己的見解以筆記的形式融入其文字,并引導(dǎo)讀者參讀其他的技術(shù)書籍呢?對于某一個特定的技術(shù)細(xì)節(jié),我希望達(dá)到的效果是:讀者能夠從我的翻譯這“小小的一隅”擴(kuò)展開去,從深度而言他們能夠參閱其他專門就此發(fā)力的技術(shù)資料,獲得某種技術(shù)或習(xí)慣用法的歷史背景、推導(dǎo)邏輯、常見形式等翔實、全面、準(zhǔn)確的信息;從廣度而言,他們可以了解到編碼與設(shè)計、細(xì)節(jié)與全局的關(guān)系,從而做到取舍中見思路、簡化中見智慧,真正地把C++這種優(yōu)秀的、有著長久生命力的程序設(shè)計語言背后的有關(guān)軟件工程的科學(xué)和藝術(shù)的成分“提煉”出來,化為自己實實在在的內(nèi)功提升。這樣的工作,我才認(rèn)為有它的價值所在,也是我這些年來下苦功夫研讀了一二十種C++的高質(zhì)量書籍,以及使用C++交付了一些成功的工程之后有實力完成的——這就是我創(chuàng)作本書的初衷和原動力——以技術(shù)翻譯為主體,并進(jìn)行“筆記體”的再創(chuàng)作給讀者以詮釋和閱讀參考的附加值,這就是我的答案。
內(nèi)容概要
本書是C++大師Stephen C. Dewhurst在多年教授C++課程中所遇到的常見錯誤的心得筆記上編寫而成的。本書所有章節(jié)都從一個眾所周知的、在日常編碼或設(shè)計實踐經(jīng)常遭遇的問題入手,先指出其不足,再對其背后思想中存在的合理與不合理之處深入剖析,最后取其精華棄其糟粕,給出一個簡潔、通用、美輪美奐的方案,指出有關(guān)如何規(guī)避或糾正它們的建議,從而有助于C++軟件工程師避免重蹈他們前輩的覆轍。
作者簡介
Stephen C. Dewhurst,是貝爾實驗室里最早使用C++語言的人之一。他將C++應(yīng)用于編譯器設(shè)計、電子商務(wù)、嵌入式通信等領(lǐng)域已有18年以上的經(jīng)驗。他是“Programming in C++”一書的合作者,是“C/C++Users Journal”雜志的編輯,是“C++ Report”的專欄作家。他是兩個C++編譯器的作者,發(fā)表過大量有關(guān)編譯器設(shè)計和C++語言編程技巧的論文。
書籍目錄
譯者序:技術(shù)翻譯——一種筆記體式的創(chuàng)作嘗試第1章 基礎(chǔ)問 常見錯誤1:過分積極的注釋 常見錯誤2:幻數(shù) 常見錯誤3:全局變量 常見錯誤4:未能區(qū)分函數(shù)重載和形式參數(shù)默認(rèn)值 常見錯誤5:對引用的認(rèn)識誤區(qū) 常見錯誤6:對常量(性)的認(rèn)識誤區(qū) 常見錯誤7:無視基礎(chǔ)語言的精妙之處 常見錯誤8:未能區(qū)分可訪問性和可見性 常見錯誤9:使用糟糕的語言 常見錯誤10:無視(久經(jīng)考驗的)習(xí)慣用法 常見錯誤11:聰明反被聰明誤 常見錯誤12:嘴上無毛,辦事不牢 第2章 語法問題 常見錯誤13:數(shù)組定義和值初始化的語法形式混淆 常見錯誤14:捉摸不定的評估求值次序 常見錯誤15:(運(yùn)算符)優(yōu)先級問題 常見錯誤16:for 語句引發(fā)的理解障礙 常見錯誤17:取大優(yōu)先解析原則帶來的問題 常見錯誤18:聲明飾詞次序的小聰明 常見錯誤19:“函數(shù)還是對象”的多義性 常見錯誤20:效果漂移的類型量化飾詞 常見錯誤21:自反初始化 常見錯誤22:靜態(tài)連接類型和外部連接類型 常見錯誤23:運(yùn)算符函數(shù)名字查找的反常行為 常見錯誤24:晦澀難懂的operato->第3章 預(yù)處理器問題 常見錯誤25:使用≠}denne定義的字面量 常見錯誤26:使用#define定義的偽函數(shù)(函數(shù)宏) 常見錯誤27:≠if的濫用 常見錯誤28:斷言(assert宏)的副作用第4章 類型轉(zhuǎn)換問題 常見錯誤29:以void*為類型轉(zhuǎn)換的中介類型 常見錯誤30:截切問題 常見錯誤31:對目標(biāo)類型為指涉物為常量的指針類型的類型轉(zhuǎn)換的認(rèn)識誤區(qū) 常見錯誤32:對以指涉物為指向常量的指針類型的 類型為目標(biāo)類型的類型轉(zhuǎn)換的認(rèn)識誤區(qū) 常見錯誤33:對以指涉物為指向基類類型的指針類型的 類型為目標(biāo)類型的類型轉(zhuǎn)換的認(rèn)識誤區(qū) 常見錯誤34:指向多維數(shù)組的指針帶來的問題 常見錯誤35:未經(jīng)校驗的向下轉(zhuǎn)型 常見錯誤36:類型轉(zhuǎn)換運(yùn)算符的誤用 常見錯誤37:始料未及的構(gòu)造函數(shù)類型轉(zhuǎn)換 常見錯誤38:在多繼承條件下進(jìn)行強(qiáng)制類型轉(zhuǎn)換 常見錯誤39:對非完整類型做強(qiáng)制類型轉(zhuǎn)換 常見錯誤40:舊式強(qiáng)制類型轉(zhuǎn)換 常見錯誤41:靜態(tài)強(qiáng)制類型轉(zhuǎn)換 常見錯誤42:形式參數(shù)引發(fā)臨時對象生成的初始化 常見錯誤43:臨時對象的生存期 常見錯誤44:引用和臨時對象 常見錯誤45:(動態(tài)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符)dynamic-cast帶來的多義性解析失敗 常見錯誤46:對逆變性的誤解第5章 初始化問題第6章 內(nèi)存和資源管理問題第7章 多態(tài)問題第8章 類型設(shè)計問題第9章 繼承譜系設(shè)計問題中英文術(shù)語對照表
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載