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

C++經(jīng)典問(wèn)答

C++經(jīng)典問(wèn)答

定 價(jià):¥55.00

作 者: (美)Marshall Cline等著;周遠(yuǎn)成譯;周遠(yuǎn)成譯
出版社: 中國(guó)電力出版社
叢編項(xiàng): 深入C++系列
標(biāo) 簽: 暫缺

購(gòu)買這本書(shū)可以去


ISBN: 9787508308685 出版時(shí)間: 2003-05-01 包裝: 膠版紙
開(kāi)本: 24cm 頁(yè)數(shù): 542 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)通過(guò)一種簡(jiǎn)明而直接的問(wèn)-,答方式,為你提供了400多種編程問(wèn)題的解決方案,使你能夠輕松地面對(duì)來(lái)自實(shí)際工作中的各種挑戰(zhàn),以最高效率的完成工作。書(shū)中所有的內(nèi)容都符合最新的ANSI/ISO C++ 標(biāo)準(zhǔn)。這些內(nèi)容包括了有關(guān)C++的一些語(yǔ)法變化比如:mutable語(yǔ)法,和一些重大的改變比如:RTTI 、namespaces以及C++標(biāo)準(zhǔn)類庫(kù)的更新。此外,本書(shū)還討論了Java、CORBA、COM/COM+和C++的關(guān)系。

作者簡(jiǎn)介

  Marshall Cline是MT系統(tǒng)公司的總裁,該公司為大的企業(yè)開(kāi)發(fā)面向?qū)ο笙到y(tǒng)。他曾向從事工業(yè)和研究的數(shù)千名專業(yè)人士講授面向?qū)ο缶幊痰脑O(shè)計(jì)和分析。他是官方的C++FAQ網(wǎng)上論壇comp.lanf.C++的管理員,獲得了Clarkson大學(xué)電氣與計(jì)算機(jī)工程專業(yè)的博士學(xué)位。

圖書(shū)目錄

致謝</font><br></font><br>第1部分 開(kāi)端</font><br></font><br>第1章 介紹</font><br></font><br>FAQ1.01:這一章的目的是什么?</font><br>FAQ1.02:C++FAQs是什么?</font><br>FAQ1.03:誰(shuí)是這本書(shū)的目標(biāo)讀者?</font><br>FAQ1.04:這是一本純粹關(guān)于C++的書(shū)嗎?</font><br>FAQ1.05:為什么開(kāi)發(fā)人員需要一個(gè)C++和OO技術(shù)的指導(dǎo)書(shū)?</font><br>FAQ1.06:在對(duì)這些FAQs的解答方面需要給出什么種類的指導(dǎo)?</font><br>FAQ1.07:電子FAQ是什么?當(dāng)電子FAQ可免費(fèi)得到時(shí)為什么要買這本書(shū)?</font><br>FAQ1.08:假如你已有一本該書(shū)的第一版,為什么你應(yīng)該買這一版?</font><br>FAQ1.09:在這本書(shū)里都使用哪些規(guī)約?</font><br></font><br>第2章 基本的C++語(yǔ)法和語(yǔ)義學(xué)</font><br></font><br>FAQ2.01:這一章的目的是什么?</font><br>FAQ2.02:Main()的要點(diǎn)是什么?</font><br>FAQ2.03:函數(shù)的要點(diǎn)是什么?</font><br>FAQ2.04:缺省參數(shù)的要點(diǎn)是什么?</font><br>FAQ2.05:局部(自動(dòng))對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.06:使用明確的參數(shù)構(gòu)造對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.07:動(dòng)態(tài)分配(new)對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.08:在內(nèi)部作用域內(nèi)的局部對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.09:通過(guò)引用傳遞對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.10:通過(guò)數(shù)值傳遞對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.11:通過(guò)指針傳遞對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.12:輸出流的要點(diǎn)是什么?</font><br>FAQ2.13:輸入流的要點(diǎn)是什么?</font><br>FAQ2.14:使用包含重載運(yùn)算符的類的要點(diǎn)是什么?</font><br>FAQ2.15:使用容器類的要點(diǎn)是什么?</font><br>FAQ2.16:創(chuàng)建類頭文件的要點(diǎn)是什么?</font><br>FAQ2.17:定義一個(gè)類的要點(diǎn)是什么?</font><br>FAQ2.18:定義成員函數(shù)的要點(diǎn)是什么?</font><br>FAQ2.19:往一個(gè)類增加一個(gè)構(gòu)造函數(shù)的要點(diǎn)是什么?</font><br>FAQ2.20:往一個(gè)類增加一個(gè)析構(gòu)函數(shù)的要點(diǎn)是什么?</font><br>FAQ2.21:定義一個(gè)包含指向堆中對(duì)象的指針的類的要點(diǎn)是什么?</font><br>FAQ2.22:全局對(duì)象的要點(diǎn)是什么?</font><br>FAQ2.23:拋擲和捕捉異常的要點(diǎn)是什么?</font><br>FAQ2.24:繼承和動(dòng)態(tài)綁定的要點(diǎn)是什么?</font><br></font><br>第3章 領(lǐng)會(huì)管理觀點(diǎn)</font><br></font><br>FAQ3.01:這一章的目的是什么?</font><br>FAQ3.02:這一章(和這本書(shū))的核心要旨是什么?</font><br>FAQ3.03:為什么是經(jīng)理而不是懂技術(shù)的開(kāi)發(fā)人員負(fù)責(zé)?</font><br>FAQ3.04:某人如何能管理他們不熟悉的某事?</font><br>FAQ3.05:關(guān)于C++和OO設(shè)計(jì)的最普通的錯(cuò)誤是什么?</font><br>FAQ3.06:"Peter軟件原理"是什么?</font><br>FAQ3.07:一個(gè)機(jī)構(gòu)應(yīng)該在所有它的項(xiàng)目上使用OO嗎?</font><br>FAQ3.08:在OO離去之前能忽略它嗎?</font><br>FAQ3.09:什么樣的OO語(yǔ)言是最好的?</font><br>FAQ3.10:對(duì)過(guò)程和工具來(lái)說(shuō)正確的方法是什么?</font><br>FAQ3.11:就現(xiàn)貨供應(yīng)的類庫(kù)和框架來(lái)說(shuō)正確的方法是什么?</font><br></font><br>第4章 體系結(jié)構(gòu)觀點(diǎn)</font><br></font><br>FAQ4.01:這一章的目的是什么?</font><br>FAQ4.02:軟件體系結(jié)構(gòu)為什么是重要的?</font><br>FAQ4.03:體系結(jié)構(gòu)應(yīng)該以什么為基礎(chǔ),是被解決的問(wèn)題還是問(wèn)題域?</font><br>FAQ4.04:軟件體系結(jié)構(gòu)應(yīng)基于問(wèn)題的策略嗎?</font><br>FAQ4.05:客戶可能改變他們的要求嗎?</font><br>FAQ4.06:穩(wěn)定的要求是令人滿意的嗎?</font><br>FAQ4.07:打算變化的關(guān)鍵是什么?</font><br>FAQ4.08:框架是什么?</font><br>FAQ4.09:由框架表現(xiàn)的"控制的倒置"是什么?</font><br>FAQ4.10:一個(gè)可擴(kuò)充的特定域的框架是什么?</font><br>FAQ4.11:什么特點(diǎn)使得一個(gè)框架可擴(kuò)充的然而又是特定域的?</font><br>FAQ4.12:假如域分析不正確,那么會(huì)發(fā)生什么?</font><br>FAQ4.13:應(yīng)該花費(fèi)多少努力來(lái)支持變化--即,可擴(kuò)充性值多少錢?</font><br>FAQ4.14:一個(gè)設(shè)計(jì)師是如何使得軟件體系結(jié)構(gòu)具有彈性的?</font><br>FAQ4.15:實(shí)現(xiàn)重復(fù)使用的秘密是什么?</font><br></font><br>第二部分 面向?qū)ο蟮脑O(shè)計(jì)</font><br></font><br>第5章 面向?qū)ο蟮幕驹?lt;/font><br></font><br>FAQ5.01:這一章的目的是什么?</font><br>FAQ5.02:為什么人類要采用OO技術(shù)?</font><br>FAQ5.03:為OO程序設(shè)計(jì)而使用C++的一些益處是什么?</font><br>FAQ5.04:面向?qū)ο蠹夹g(shù)的基本概念是什么?</font><br>FAQ5.05:為什么類是重要的?</font><br>FAQ5.06:一個(gè)對(duì)象是什么?</font><br>FAQ5.07:一個(gè)對(duì)象理想的特性是什么?</font><br>FAQ5.08:類如何好于過(guò)程軟件的三個(gè)基本的組合塊?</font><br>FAQ5.09:合成的目的是什么?</font><br>FAQ5.10:繼承的目的是什么?</font><br>FAQ5.11:多態(tài)性和動(dòng)態(tài)綁定的優(yōu)點(diǎn)是什么?</font><br>FAQ5.12:如何OO有助于產(chǎn)生彈性的和可擴(kuò)充的軟件?</font><br>FAQ5.13:如何老代碼調(diào)用新代碼?</font><br>FAQ5.14:抽象是什么?為什么它是重要的?</font><br>FAQ5.15:抽象應(yīng)該是以用戶為中心還是以開(kāi)發(fā)人員為中心?</font><br>FAQ5.16:封裝和抽象之間的區(qū)別是什么?</font><br>FAQ5.17:封裝一個(gè)壞的抽象的后果是什么?</font><br>FAQ5.18:把界面和實(shí)現(xiàn)分開(kāi)的意義是什么?</font><br>FAQ5.19:把界面和實(shí)現(xiàn)分開(kāi)如何能改善性能以及彈性?</font><br>FAQ5.20:對(duì)一個(gè)抽象產(chǎn)生一個(gè)合適的界面,最好的方法是什么?</font><br>FAQ5.21:Get/set成員函數(shù)是如何與蹩腳的設(shè)計(jì)的界面相關(guān)的?</font><br>FAQ5.22:每一個(gè)成員數(shù)據(jù)都應(yīng)該有一個(gè)get和set成員函數(shù)嗎?</font><br>FAQ5.23:一個(gè)類的真正的目的是輸出數(shù)據(jù)嗎?</font><br>FAQ5.24:OO應(yīng)該被認(rèn)為以數(shù)據(jù)為中心嗎?</font><br></font><br>第6章 可覺(jué)察的行為的說(shuō)明</font><br></font><br>FAQ6.01:這一章的目的是什么?</font><br>FAQ6.02:一個(gè)成員函數(shù)的用戶應(yīng)該依靠代碼實(shí)際做的還是說(shuō)明?</font><br>FAQ6.03:依靠說(shuō)明而不是實(shí)現(xiàn)的優(yōu)點(diǎn)是什么?</font><br>FAQ6.04:什么是通告要求和通告承諾?</font><br>FAQ6.05:如何精確確定成員函數(shù)的通告要求和通告承諾?</font><br>FAQ6.06:在沒(méi)有使用說(shuō)明的開(kāi)發(fā)組織里為什么害怕變化?</font><br>FAQ6.07:開(kāi)發(fā)人員如何決定是否一個(gè)建議的變化將干擾原有的代嗎?</font><br>FAQ6.08:在一個(gè)說(shuō)明里一個(gè)可替代的(向后兼容的)變化的特性是什么?</font><br>FAQ6.09:如何能表明一個(gè)成員函數(shù)的實(shí)現(xiàn)履行了它的說(shuō)明?</font><br>FAQ6.10:保持說(shuō)明與代碼同步是可能的嗎?</font><br></font><br>第7章 合適的繼承</font><br></font><br>FAQ7.01:什么是合適的繼承?</font><br>FAQ7.02:合適繼承的益處是什么?</font><br>FAQ7.03:不合適的繼承是什么?</font><br>FAQ7.04:合適的和不合適的繼承之間的不同不是明顯的嗎?</font><br>FAQ7.05:替代性是基于代碼所做的還是代碼將要做的說(shuō)明許諾?</font><br>FAQ7.06:廢除(隱藏)一個(gè)繼承的public:成員函數(shù)合適嗎?</font><br>FAQ7.07:什么是專門化?</font><br>FAQ7.08:子集和合適的繼承有什么聯(lián)系?</font><br></font><br>第8章 檢測(cè)并修改不合適的繼承</font><br></font><br>FAQ8.01:不合適的繼承能破壞一個(gè)項(xiàng)目嗎?</font><br>FAQ8.02:學(xué)會(huì)如何避免不合適的繼承的最好方法是什么?</font><br>FAQ8.03:直覺(jué)是一個(gè)理解合適的繼承的可依靠的向?qū)幔?lt;/font><br>FAQ8.04:駝鳥(niǎo)是一種鳥(niǎo)嗎?</font><br>FAQ8.05:一個(gè)覆蓋虛擬函數(shù)應(yīng)該拋擲一個(gè)異常嗎?</font><br>FAQ8.06:一個(gè)覆蓋虛擬函數(shù)可以是空操作嗎?</font><br>FAQ8.07:為什么C++使得修改Ostrich/Bird窘境如此困難?</font><br>FAQ8.08:Circle應(yīng)該從Ellipse上繼承嗎?</font><br>FAQ8.09:關(guān)于非對(duì)稱圓的窘境我們能做些什么?</font><br>FAQ8.10:在這些FAQs里好象不消失的一個(gè)問(wèn)題是什么?</font><br>FAQ8.11:Stack應(yīng)該從List繼承嗎?</font><br>FAQ8.12:代碼重用是繼承的主要目的嗎?</font><br>FAQ8.13:東西的容器是一種任何東西的容器嗎?</font><br>FAQ8.14:假定水果袋允許放進(jìn)任何種類的水果,蘋(píng)果袋是一種水果袋嗎?</font><br>FAQ8.15:停放小汽車的停車區(qū)是一種停放任意的運(yùn)載工具的停車區(qū)嗎(假定停放運(yùn)載工具的停車區(qū)允許放任意種類的運(yùn)載工具)?</font><br>FAQ8.16:Derived的數(shù)組是一種Base的數(shù)組嗎?</font><br>FAQ8.17:Derived數(shù)組能作為Base數(shù)組傳遞這一事實(shí)意味著數(shù)組是壞的嗎?</font><br></font><br>第9章 錯(cuò)誤處理策略</font><br></font><br>FAQ9.01:錯(cuò)誤處理是根本過(guò)失的一個(gè)主要來(lái)源嗎?</font><br>FAQ9.02:用C++如何對(duì)運(yùn)行時(shí)錯(cuò)誤進(jìn)行處理?</font><br>FAQ9.03:在拋擲/捕捉過(guò)程期間對(duì)于在展開(kāi)的棧幀里面的對(duì)象會(huì)發(fā)生什么?</font><br>FAQ9.04:一個(gè)異常說(shuō)明是什么?</font><br>FAQ9.05:為錯(cuò)誤處理而使用返回碼的缺點(diǎn)是什么?</font><br>FAQ9.06:Throw…catch的優(yōu)點(diǎn)是什么?</font><br>FAQ9.07:把正常邏輯從異常處理邏輯中分開(kāi)是有幫助的,這是為什么?</font><br>FAQ9.08:使用異常處理的最困難部分是什么?</font><br>FAQ9.09:一個(gè)函數(shù)應(yīng)該什么時(shí)候拋擲一個(gè)異常?</font><br>FAQ9.10:對(duì)于異常對(duì)象的體系來(lái)講什么是最好的方法?</font><br>FAQ9.11:異常類應(yīng)該如何來(lái)命名?</font><br>FAQ9.12:setjmp和longjmp適合于C++的什么地方?</font><br></font><br>第10章 測(cè)試策略</font><br></font><br>FAQ10.01:這一章的目的是什么?</font><br>FAQ10.02:自測(cè)對(duì)象的優(yōu)點(diǎn)是什么?</font><br>FAQ10.03:人們不把自測(cè)加進(jìn)他們的對(duì)象所使用的一些通常借口是什么?</font><br>FAQ10.04:假如不使用在這里描述的技術(shù)將會(huì)發(fā)生什么情況?</font><br>FAQ10.05:什么時(shí)候一個(gè)類是正確的?</font><br>FAQ10.06:什么是行為自測(cè)?</font><br>FAQ10.07:一個(gè)類的不變式是指什么?</font><br>FAQ10.08:為什么應(yīng)明確地捕獲不變式?</font><br>FAQ10.09:什么時(shí)候應(yīng)該調(diào)用testInvariant()成員函數(shù)?</font><br>FAQ10.10:我們能做些什么來(lái)確保一個(gè)對(duì)象不被一個(gè)未開(kāi)化的指針吹走?</font><br></font><br>第三部分 語(yǔ)言功能</font><br></font><br>第11章 引用</font><br></font><br>FAQ11.01:什么是一個(gè)引用?</font><br>FAQ11.02:"引用物"意味著什么?</font><br>FAQ11.03:什么時(shí)候能把一個(gè)引用與它的引用物連接起來(lái)?</font><br>FAQ11.04:當(dāng)把一個(gè)值賦給一個(gè)引用時(shí)會(huì)發(fā)生什么?</font><br>FAQ11.05:什么是一個(gè)局部引用?</font><br>FAQ11.06:返回一個(gè)引用意味著什么?</font><br>FAQ11.07:利用一個(gè)引用的地址的結(jié)果是什么?</font><br>FAQ11.08:一個(gè)引用能指向一個(gè)不同的引用物嗎?</font><br>FAQ11.09:當(dāng)指針能做引用能做的所有事情時(shí),為什么要使用引用?</font><br>FAQ11.10:引用不恰恰是偽裝的指針嗎?</font><br>FAQ11.11:什么時(shí)候需要指針?</font><br>FAQ11.12:為什么一些人憎恨引用?</font><br>FAQ11.13:int& const x有意義嗎?</font><br></font><br>第12章 New和Delete</font><br></font><br>FAQ12.01:New比分配內(nèi)存做得更多嗎?</font><br>FAQ12.02:為什么說(shuō)new好于可靠的老的值得信賴的malloc()?</font><br>FAQ12.03:C++有一個(gè)陪伴new和delete的realloc()相當(dāng)物嗎?</font><br>FAQ12.04:從new返回的指針能用free()解除分配嗎?從malloc()返回的指針能用delete解除分配嗎?</font><br>FAQ12.05:delete p刪除指針p還是引用物*p?</font><br>FAQ12.06:應(yīng)該檢查從new Fred()返回的指針以便發(fā)現(xiàn)是否它是NULL嗎?</font><br>FAQ12.07:如何能把new轉(zhuǎn)換成返回NULL而不是拋擲一個(gè)異常?</font><br>FAQ12.08:如何創(chuàng)造new使之當(dāng)內(nèi)存用到下限時(shí)自動(dòng)地刷新再循環(huán)對(duì)象池?</font><br>FAQ12.09:當(dāng)p是NULL時(shí)如果調(diào)用delete p會(huì)發(fā)生什么?</font><br>FAQ12.10:當(dāng)刪除一個(gè)指針兩次時(shí)會(huì)發(fā)生什么?</font><br>FAQ12.11:如何能分配和解除分配一個(gè)對(duì)象數(shù)組?</font><br>FAQ12.12:假如使用delete p(不是delete[] p)來(lái)刪除一個(gè)通過(guò)new Fred[n]分配的數(shù)組將會(huì)怎樣?</font><br>FAQ12.13:當(dāng)p指向某種固有類型比如char的數(shù)組時(shí)能省略delete[] p中的[]嗎?</font><br>FAQ12.14:如何在一個(gè)預(yù)定的內(nèi)存位置建立一個(gè)對(duì)象?</font><br>FAQ12.15:類Fred如何保證僅僅用new而不是在棧上創(chuàng)建Fred對(duì)象?</font><br>FAQ12.16:如何破壞由布局new創(chuàng)建的對(duì)象?</font><br>FAQ12.17:在p = new Fred()里,假如Fred構(gòu)造函數(shù)拋擲一個(gè)異常,F(xiàn)red內(nèi)存會(huì)"泄漏"嗎?</font><br>FAQ12.18:對(duì)于一個(gè)成員函數(shù)表達(dá)delete this是合法(和可能)的嗎?</font><br>FAQ12.19:在p = new[n]之后,在delete[] p期間編譯程序如何知道n要破壞個(gè)對(duì)象?</font><br></font><br>第13章 Inline函數(shù)</font><br></font><br>FAQ13.01:Inline函數(shù)的目的是什么?</font><br>FAQ13.02:關(guān)鍵字"inlin"和"inlined"功能之間的聯(lián)系是什么?</font><br>FAQ13.03:關(guān)于直接插入有任何特殊的規(guī)則嗎?</font><br>FAQ13.04:一次定義規(guī)則(ODR)是什么?</font><br>FAQ13.05:就inline函數(shù)來(lái)說(shuō)一些性能考慮是什么?</font><br>FAQ13.06:直接插入函數(shù)能改善性能嗎?</font><br>FAQ13.07:直接插入函數(shù)能增加可執(zhí)行代碼的大小嗎?</font><br>FAQ13.08:為什么當(dāng)?shù)谝淮尉帉?xiě)代碼時(shí)不應(yīng)做直接插入決定?</font><br>FAQ13.09:當(dāng)一個(gè)程序員使用一個(gè)從第三方獲得的直接插入函數(shù)時(shí)會(huì)發(fā)生什么?</font><br>FAQ13.10:Inline和非inline代碼之間的轉(zhuǎn)換有沒(méi)有容易的方法?</font><br></font><br>第14章 Const正確性</font><br></font><br>FAQ14.01:如何看懂指針的聲明?</font><br>FAQ14.02:C++程序員如何避免對(duì)對(duì)象作出不期望的變化?</font><br>FAQ14.03:Const意味著運(yùn)行時(shí)間的經(jīng)常開(kāi)支嗎?</font><br>FAQ14.04:Const允許編譯程序產(chǎn)生更有效的代碼嗎?</font><br>FA Q14.05:Const正確性是冗長(zhǎng)乏味的嗎?</font><br>FAQ14.06:為什么實(shí)施const正確性應(yīng)該盡早而不盡晚?</font><br>FAQ14.07:檢查程序和變態(tài)程序之間的區(qū)別是什么?</font><br>FAQ14.08:什么時(shí)候一個(gè)成員函數(shù)應(yīng)該聲明為const?</font><br>FAQ14.09:Const是應(yīng)用到對(duì)象的位狀態(tài)還是它的抽象狀態(tài)?</font><br>FAQ14.10:在聲明形參方面什么時(shí)候不應(yīng)使用const?</font><br>FAQ14.11:在聲明一個(gè)函數(shù)返回類型方面什么時(shí)候不應(yīng)使用const?</font><br>FAQ14.12:在一個(gè)const成員函數(shù)內(nèi)如何修改"不能觀察到的"數(shù)據(jù)成員?</font><br>FAQ14.13:即使對(duì)它有一個(gè)const引用(指針)能合法地改變一個(gè)對(duì)象嗎?</font><br>FAQ14.14:Const_cast意味著失去優(yōu)化機(jī)會(huì)嗎?</font><br></font><br>第15章 名稱空間</font><br></font><br>FAQ15.01:這一章的目的是什么?</font><br>FAQ15.02:名稱空間是什么?</font><br>FAQ15.03:在名稱空間外的代碼如何能使用在那個(gè)名稱空間內(nèi)聲明的名字?</font><br>FAQ15.04:假如兩個(gè)名稱空間包含相同的名字將會(huì)發(fā)生什么?</font><br>FAQ15.05:使用名稱空間的一些規(guī)則是什么?</font><br>FAQ15.06:名字查找是什么?</font><br>FAQ15.07:使用來(lái)自名稱空間特別是標(biāo)準(zhǔn)名稱空間的名字的各種技術(shù)之間的折衷</font><br>辦法是什么?</font><br>FAQ15.08:名稱空間能中斷代碼嗎?</font><br>FAQ15.09:名稱空間有任何其它的應(yīng)用嗎?</font><br>FAQ15.10:名稱空間如何解決長(zhǎng)標(biāo)識(shí)符的問(wèn)題?</font><br></font><br>第16章 使用static</font><br></font><br>FAQ16.01:這一章的目的是什么?</font><br>FAQ16.02:什么是靜態(tài)類成員?</font><br>FAQ16.03:什么是靜態(tài)數(shù)據(jù)成員的一個(gè)類比?</font><br>FAQ16.04:Inline函數(shù)能安全地訪問(wèn)靜態(tài)數(shù)據(jù)成員嗎?</font><br>FAQ16.05:什么是靜態(tài)成員函數(shù)的一個(gè)類比?</font><br>FAQ16.06:靜態(tài)數(shù)據(jù)成員是如何類似全局變量的?</font><br>FAQ16.07:靜態(tài)成員函數(shù)是如何類似于友元函數(shù)的?</font><br>FAQ16.08:什么是指定的構(gòu)造函數(shù)習(xí)語(yǔ)?</font><br>FAQ16.09:應(yīng)該如何調(diào)用靜態(tài)成員函數(shù)?</font><br>FAQ16.10:為什么帶有靜態(tài)數(shù)據(jù)成員的類可能得到連接程序錯(cuò)誤?</font><br>FAQ16.11:如何初始化const靜態(tài)數(shù)據(jù)成員?</font><br>FAQ16.12:實(shí)現(xiàn)需要維護(hù)調(diào)用之間的狀態(tài)的一個(gè)函數(shù)的正確策略是什么?</font><br>FAQ16.13:函數(shù)調(diào)用運(yùn)算符如何能幫助函數(shù)類?</font><br>FAQ16.14:忽略靜態(tài)初始化次序問(wèn)題是安全的嗎?</font><br>FAQ16.15:解決靜態(tài)初始化次序問(wèn)題的簡(jiǎn)單而又健壯的辦法是什么?</font><br>FAQ16.16:假如靜態(tài)對(duì)象的析構(gòu)函數(shù)有最后一定要出現(xiàn)的副作用將怎么辦?</font><br>FAQ16.17:假如靜態(tài)對(duì)象的析構(gòu)函數(shù)有最終一定發(fā)生的重要的副作用并且另一個(gè)</font><br>靜態(tài)對(duì)象的析構(gòu)函數(shù)必須訪問(wèn)該靜態(tài)對(duì)象將怎么辦?</font><br>FAQ16.18:所有這些各種技術(shù)間的選擇準(zhǔn)則是什么?</font><br></font><br>第17章 派生類</font><br></font><br>FAQ17.01:這一章的目的是什么?</font><br>FAQ17.02:C++如何表達(dá)繼承?</font><br>FAQ17.03:什么是一個(gè)具體的派生類?</font><br>FAQ17.04:為什么一個(gè)派生類不能訪問(wèn)它的基類的private:成員?</font><br>FAQ17.05:基類如何能保護(hù)派生類以致于基類的變化將不影響它們?</font><br>FAQ17.06:能把一個(gè)派生類指針轉(zhuǎn)變?yōu)樗墓不惖闹羔槅幔?lt;/font><br>FAQ17.07:一個(gè)類Y如何既能是另一個(gè)類X的子類又能得到X的存儲(chǔ)單元?</font><br>FAQ17.08:不用使Y成為X的子類如何類Y能獲得當(dāng)前的類X的存儲(chǔ)單元?</font><br>FAQ17.09:不繼承X的存儲(chǔ)單元Y類如何能是X類的子類?</font><br></font><br>第18章 訪問(wèn)控制</font><br></font><br>FAQ18.01:這一章的目的是什么?</font><br>FAQ18.02:Private:protected:和public:是如何不同的?</font><br>FAQ18.03:為什么子類不能訪問(wèn)它們基類的private:部分?</font><br>FAQ18.04:關(guān)鍵字struct和class之間有什么不同?</font><br>FAQ18.05:什么時(shí)候一個(gè)數(shù)據(jù)成員應(yīng)該是protected:而不是private:?</font><br>FAQ18.06:為什么private:是類的缺省訪問(wèn)權(quán)限?</font><br></font><br>第19章 友元類和友元函數(shù)</font><br></font><br>FAQ19.01:朋友是什么?</font><br>FAQ19.02:關(guān)于友元類的好的智力模型是什么?</font><br>FAQ19.03:使用友元類的一些優(yōu)點(diǎn)是什么?</font><br>FAQ19.04:朋友違反封裝屏障嗎?</font><br>FAQ19.05:一個(gè)友元函數(shù)是什么?</font><br>FAQ19.06:什么時(shí)候應(yīng)該把一個(gè)函數(shù)實(shí)現(xiàn)為一個(gè)友元函數(shù)而不是一個(gè)成員函數(shù)?</font><br>FAQ19.07:保證合適地使用友元函數(shù)的一些方針是什么?</font><br>FAQ19.08:友誼不能傳遞這意味著什么?</font><br>FAQ19.09:友誼不能繼承這意味著什么?</font><br>FAQ19.10:朋友不能是虛擬的這意味著什么?</font><br>FAQ19.11:什么特點(diǎn)建議使用一個(gè)友元函數(shù)而不是一個(gè)成員函數(shù)?</font><br>FAQ19.12:友元函數(shù)應(yīng)被聲明在一個(gè)類的private:、protected:還是public:部分?</font><br>FAQ19.13:什么是一個(gè)私有類?</font><br>FAQ19.14:如何輸出一個(gè)類的對(duì)象?</font><br>FAQ19.15:一個(gè)類的對(duì)象如何接受流輸入?</font><br></font><br>第20章 構(gòu)造函數(shù)和析構(gòu)函數(shù)</font><br></font><br>FAQ20.01:構(gòu)造函數(shù)的目的是什么?</font><br>FAQ20.02:C++的構(gòu)造函數(shù)的規(guī)則是什么?</font><br>FAQ20.03:析構(gòu)函數(shù)的目的是什么?</font><br>FAQ20.04:C++的析構(gòu)函數(shù)的規(guī)則是什么?</font><br>FAQ20.05:當(dāng)執(zhí)行一個(gè)析構(gòu)函數(shù)時(shí)會(huì)發(fā)生什么?</font><br>FAQ20.06:拷貝構(gòu)造函數(shù)的目的是什么?</font><br>FAQ20.07:什么時(shí)候調(diào)用一個(gè)拷貝構(gòu)造函數(shù)?</font><br>FAQ20.08:什么是"缺省構(gòu)造函數(shù)"?</font><br>FAQ20.09:一個(gè)構(gòu)造函數(shù)應(yīng)該調(diào)用另一個(gè)構(gòu)造函數(shù)作為一個(gè)原語(yǔ)嗎?</font><br>FAQ20.10:一個(gè)派生類的析構(gòu)函數(shù)必須明確地調(diào)用它的基類的析構(gòu)函數(shù)嗎?</font><br>FAQ20.11:在它的函數(shù)結(jié)束之前如何解除一個(gè)局部對(duì)象?</font><br>FAQ20.12:為一個(gè)類提供直觀的多重的構(gòu)造函數(shù)的好方法是什么?</font><br>FAQ20.13:當(dāng)一個(gè)基類的構(gòu)造函數(shù)調(diào)用一個(gè)虛擬函數(shù)時(shí),為什么不調(diào)用覆蓋函數(shù)?</font><br>FAQ20.14:當(dāng)一個(gè)基類的析構(gòu)函數(shù)調(diào)用一個(gè)虛擬函數(shù)時(shí),為什么不調(diào)用覆蓋函數(shù)?</font><br>FAQ20.15:布局new的目的是什么?</font><br></font><br>第21章 虛擬函數(shù)</font><br></font><br>FAQ21.01:這一章的目的是什么?</font><br>FAQ21.02:什么是一個(gè)虛擬成員函數(shù)?</font><br>FAQ21.03:和調(diào)用一個(gè)正常的函數(shù)相比,調(diào)用一個(gè)虛擬函數(shù)要花費(fèi)多大?</font><br>FAQ21.04:當(dāng)支持動(dòng)態(tài)綁定的時(shí)候C++如何執(zhí)行靜態(tài)定型?</font><br>FAQ21.05:析構(gòu)函數(shù)可能是虛擬的嗎?</font><br>FAQ21.06:一個(gè)虛擬析構(gòu)函數(shù)的目的是什么?</font><br>FAQ21.07:什么是一個(gè)虛擬的構(gòu)造函數(shù)?</font><br>FAQ21.08:當(dāng)一個(gè)構(gòu)造函數(shù)或者析構(gòu)函數(shù)在它的對(duì)象里調(diào)用一個(gè)虛擬函數(shù)時(shí)應(yīng)該使用什么語(yǔ)法?</font><br>FAQ21.09:當(dāng)調(diào)用虛擬成員函數(shù)時(shí)應(yīng)該使用作用域運(yùn)算符∷嗎?</font><br>FAQ21.10:什么是一個(gè)純虛擬成員函數(shù)?</font><br>FAQ21.11:在聲明一個(gè)純虛擬函數(shù)的類內(nèi)能定義它嗎?</font><br>FAQ21.12:當(dāng)它沒(méi)有代碼時(shí)如何定義一個(gè)虛擬析構(gòu)函數(shù)?</font><br>FAQ21.13:一個(gè)ABC能有一個(gè)純虛擬析構(gòu)函數(shù)嗎?</font><br>FAQ21.14:如何阻止編譯程序產(chǎn)生直接插入虛擬函數(shù)的重復(fù)輪廓的拷貝?</font><br>FAQ21.15:帶有虛擬函數(shù)的一個(gè)類至少有一個(gè)非直接插入的虛擬函數(shù)嗎?</font><br></font><br>第22章 初始化表</font><br></font><br>FAQ22.01:什么是構(gòu)造函數(shù)的初始化表?</font><br>FAQ22.02:假如沒(méi)有使用構(gòu)造函數(shù)初始化表將會(huì)發(fā)生什么?</font><br>FAQ22.03:在構(gòu)造函數(shù)的定義里使用初始化表的原則是什么?</font><br>FAQ22.04:在構(gòu)造函數(shù)的體內(nèi)什么也沒(méi)有,這是正常的嗎?</font><br>FAQ22.05:如何初始化一個(gè)const數(shù)據(jù)成員?</font><br>FAQ22.06:如何初始化一個(gè)引用數(shù)據(jù)成員?</font><br>FAQ22.07:初始化表達(dá)式是以它們出現(xiàn)在初始化表的順序而被執(zhí)行的嗎?</font><br>FAQ22.08:在一個(gè)構(gòu)造函數(shù)的初始化表里如何安排初始化表達(dá)式?</font><br>FAQ22.09:在構(gòu)造函數(shù)的初始化表里使用一個(gè)成員對(duì)象來(lái)初始化另一個(gè)成員對(duì)象是可能的嗎?</font><br>FAQ22.10:假如某一個(gè)成員對(duì)象必須使用另一個(gè)成員對(duì)象來(lái)初始化它自己將怎么辦?</font><br>FAQ22.11:對(duì)"在一個(gè)初始化表里初始化所有成員對(duì)象"的規(guī)則有一個(gè)例外嗎?</font><br>FAQ22.12:如何用明確的初始表達(dá)式來(lái)初始化一個(gè)對(duì)象數(shù)組?</font><br></font><br>第23章 運(yùn)算符重載</font><br></font><br>FAQ23.01:重載運(yùn)算符象正常的函數(shù)嗎?</font><br>FAQ23.02:什么時(shí)候應(yīng)該使用運(yùn)算符重載?</font><br>FAQ23.03:什么樣的運(yùn)算符不能重載?</font><br>FAQ23.04:使類更易于理解是運(yùn)算符重載的目的嗎?</font><br>FAQ23.05:為什么下標(biāo)運(yùn)算符通常成對(duì)出現(xiàn)?</font><br>FAQ23.06:對(duì)于十二、十和二這樣的運(yùn)算符,最重要的考慮是什么?</font><br>FAQ23.07:如何區(qū)分operator++的前綴和后綴兩種形式?</font><br>FAQ23.08:operator++的前綴和后綴形式應(yīng)該返回什么?</font><br>FAQ23.09:一個(gè)象矩陣的類如何能產(chǎn)生一個(gè)帶有兩個(gè)以上下標(biāo)的下標(biāo)運(yùn)算符?</font><br>FAQ23.10:一個(gè)**運(yùn)算符能當(dāng)作一個(gè)指數(shù)運(yùn)算符嗎?</font><br></font><br>第24章 賦值運(yùn)算符</font><br></font><br>FAQ24.01:賦值運(yùn)算符應(yīng)該返回什么?</font><br>FAQ24.02:自己給自己賦值的對(duì)象有什么錯(cuò)?</font><br>FAQ24.03:關(guān)于自我賦值應(yīng)該做些什么?</font><br>FAQ24.04:在部分地賦值一個(gè)對(duì)象之后一個(gè)賦值運(yùn)算符應(yīng)該拋擲一個(gè)異常嗎?</font><br>FAQ24.05:在一個(gè)ABC中應(yīng)該如何聲明賦值運(yùn)算符?</font><br>FAQ24.06:什么時(shí)候一個(gè)用戶定義的賦值運(yùn)算符應(yīng)該模仿編譯程序?qū)⒆詣?dòng)產(chǎn)生的賦值運(yùn)算符?</font><br>FAQ24.07:Private:和protected:賦值運(yùn)算符應(yīng)該返回什么?</font><br>FAQ24.08:增加編譯程序合成的賦值運(yùn)算符將是正確的可能性的技術(shù)存在嗎?</font><br>FAQ24.09:在一個(gè)派生類內(nèi)的賦值運(yùn)算符應(yīng)該如何行為?</font><br>FAQ24.10:一個(gè)ABC的賦值運(yùn)算符能夠是虛擬的嗎?</font><br>FAQ24.11:假如基類的賦值運(yùn)算符是虛擬的那么派生類應(yīng)該做什么?</font><br>FAQ24.12:賦值運(yùn)算符應(yīng)該通過(guò)使用布局new和拷貝構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)嗎?</font><br></font><br>第25章 模板</font><br></font><br>FAQ25.01:模板的目的是什么?</font><br>FAQ25.02:類模板的語(yǔ)法和語(yǔ)義是什么?</font><br>FAQ25.03:如何對(duì)模板類特殊化以便處理特殊的情況?</font><br>FAQ25.04:函數(shù)模板的語(yǔ)法和語(yǔ)義是什么?</font><br>FAQ25.05:一個(gè)模板應(yīng)該使用memcpy()來(lái)拷貝它的模板變?cè)膶?duì)象嗎?</font><br>FAQ25.06:當(dāng)一個(gè)模板在它的內(nèi)部使用另一個(gè)模板時(shí)為什么編譯程序抗議>>?</font><br></font><br>第26章 異常策略</font><br></font><br>FAQ26.01:什么東西放在一個(gè)try塊內(nèi)?</font><br>FAQ26.02:什么時(shí)候一個(gè)函數(shù)應(yīng)該捕獲一個(gè)異常?</font><br>FAQ26.03:一個(gè)catch塊應(yīng)該完全地從一個(gè)錯(cuò)誤中恢復(fù)過(guò)來(lái)嗎?</font><br>FAQ26.04:構(gòu)造函數(shù)如何處理一個(gè)錯(cuò)誤?</font><br>FAQ26.05:笨蛋對(duì)象是什么(為什么應(yīng)該避免它們)?</font><br>FAQ26.06:假如一個(gè)對(duì)象的某一成員對(duì)象在它的構(gòu)造函數(shù)期間能夠拋擲一個(gè)異常,該對(duì)象應(yīng)該做些什么?</font><br>FAQ26.07:當(dāng)析構(gòu)函數(shù)失敗時(shí)它們應(yīng)該拋擲異常嗎?</font><br>FAQ26.08:析構(gòu)函數(shù)應(yīng)該調(diào)用可能拋擲異常的子程序嗎?</font><br>FAQ26.09:資源解除分配原語(yǔ)應(yīng)該通過(guò)拋擲一個(gè)異常發(fā)出錯(cuò)誤的信號(hào)嗎?</font><br>FAQ26.10:terminate()函數(shù)應(yīng)該做些什么?</font><br>FAQ26.11:unexpected()函數(shù)應(yīng)該做些什么?</font><br>FAQ26.12:在什么情況下一個(gè)覆蓋虛擬成員函數(shù)能拋擲不同于列在基類里的成員函數(shù)的說(shuō)明中的異常?</font><br>FAQ26.13:異常處理機(jī)制如何可能引起一個(gè)程序默默地崩潰?</font><br></font><br>第27章 類型和RTTI</font><br></font><br>FAQ27.01:這一章的目的是什么?</font><br>FAQ27.02:什么是靜態(tài)類型檢查?</font><br>FAQ27.03:什么是動(dòng)態(tài)類型檢查?</font><br>FAQ27.04:動(dòng)態(tài)類型檢查的基本問(wèn)題是什么?</font><br>FAQ27.05:如何能避免動(dòng)態(tài)類型檢查?</font><br>FAQ27.06:對(duì)于動(dòng)態(tài)類型檢查有沒(méi)有更好的方案?</font><br>FAQ27.07:什么是一個(gè)能力詢問(wèn)?</font><br>FAQ27.08:帶有容器的動(dòng)態(tài)類型檢查的可選方案是什么?</font><br>FAQ27.09:有沒(méi)有動(dòng)態(tài)類型檢查是必要的情況?</font><br>FAQ27.10:假定知道一個(gè)指向ABC的指針,如何能夠發(fā)現(xiàn)引用物的類?</font><br>FAQ27.11:什么是一個(gè)downcast?</font><br>FAQ27.12:什么是一個(gè)使用向下的類型轉(zhuǎn)換的可選方案?</font><br>FAQ27.13:為什么向下的類型轉(zhuǎn)換是危險(xiǎn)的?</font><br>FAQ27.14:C++體系的繼承圖應(yīng)該是高的還是矮的?</font><br>FAQ27.15:C++體系的繼承圖應(yīng)該是單塊的還是一個(gè)森林?</font><br>FAQ27.16:什么是運(yùn)行時(shí)間類型標(biāo)識(shí)(RTTI)?</font><br>FAQ27.17:什么是dynamic_cast<T>()的目的?</font><br>FAQ27.18:dynamic_cast<T>()是一個(gè)治百病的靈藥嗎?</font><br>FAQ27.19:static_cast<T>()帶來(lái)什么?</font><br>FAQ27.20:typeid()帶來(lái)什么?</font><br>FAQ27.21:類型安全的向下類型轉(zhuǎn)換有任何的隱藏的代價(jià)嗎?</font><br></font><br>第28章 容器</font><br></font><br>FAQ28.01:什么是容器類?和容器類在一塊產(chǎn)生的最普通的錯(cuò)誤是什么?</font><br>FAQ28.02:數(shù)組是福還是禍?</font><br>FAQ28.03:應(yīng)用程序開(kāi)發(fā)組織應(yīng)該產(chǎn)生他們自己的容器類嗎?</font><br>FAQ28.04:關(guān)于指針容器的一些普通錯(cuò)誤是什么?</font><br>FAQ28.05:上述的事情意味著應(yīng)該避免指針的容器嗎?</font><br>FAQ28.06:可靠的老式的char*肯定是一個(gè)例外,對(duì)嗎?</font><br>FAQ28.07:auto_ptr<T>能簡(jiǎn)化關(guān)于指針容器的所有權(quán)問(wèn)題嗎?</font><br>FAQ28.08:一個(gè)象Java的Object類能簡(jiǎn)化C++的容器嗎?</font><br>FAQ28.09:同類的和異類的容器之間有什么不同?</font><br>FAQ28.10:當(dāng)選擇容器類時(shí)使用一個(gè)"最好種類"的方法是一個(gè)好的主意嗎?</font><br>FAQ28.11:所有的項(xiàng)目都應(yīng)使用C++的標(biāo)準(zhǔn)化的容器嗎?</font><br>FAQ28.12:什么是C++標(biāo)準(zhǔn)化的容器類?</font><br>FAQ28.13:什么是標(biāo)準(zhǔn)化的C++數(shù)列容器類的最好應(yīng)用?</font><br>FAQ28.14:標(biāo)準(zhǔn)化的C++關(guān)聯(lián)容器類的最好場(chǎng)合是什么?</font><br></font><br>第四部分 論題</font><br></font><br>第29章 把繼承和重載混合在一起</font><br></font><br>FAQ29.01:重載函數(shù)和覆蓋函數(shù)之間有什么不同?</font><br>FAQ29.02:什么是隱藏規(guī)則?</font><br>FAQ29.03:應(yīng)該如何處理隱藏規(guī)則?</font><br>FAQ29.04:當(dāng)一個(gè)派生類重新定義從基類繼承而來(lái)的一組重載成員函數(shù)的一些而不是全部時(shí)它應(yīng)該做什么?</font><br>FAQ29.05:能重載虛擬函數(shù)嗎?</font><br></font><br>第30章 重要的三個(gè)</font><br></font><br>FAQ30.01:這一章的目的是什么?</font><br>FAQ30.02:什么是重要的三個(gè)?</font><br>FAQ30.03:當(dāng)解除一個(gè)沒(méi)有明確的析構(gòu)函數(shù)的對(duì)象時(shí)會(huì)發(fā)生什么?</font><br>FAQ30.04:假如拷貝一個(gè)沒(méi)有一個(gè)明確的拷貝構(gòu)造函數(shù)的對(duì)象將會(huì)發(fā)生什么?</font><br>FAQ30.05:當(dāng)給一個(gè)沒(méi)有一個(gè)明確的賦值運(yùn)算符的對(duì)象賦值時(shí)會(huì)發(fā)生什么?</font><br>FAQ30.06:重要的三個(gè)的定律是什么?</font><br>FAQ30.07:通常重要的三個(gè)中的哪一個(gè)首先出現(xiàn)?</font><br>FAQ30.08:什么是遠(yuǎn)程所有權(quán)?</font><br>FAQ30.09:遠(yuǎn)程所有權(quán)如何是特殊的?</font><br>FAQ30.10:假如一個(gè)類擁有一個(gè)引用物并且沒(méi)有所有的重要的三個(gè)將會(huì)怎樣?</font><br>FAQ30.11:有沒(méi)有有助于管理遠(yuǎn)程所有權(quán)的任何C++類?</font><br>FAQ30.12:Auto_ptr能實(shí)施重要的三個(gè)的定律并解決與遠(yuǎn)程所有權(quán)相關(guān)的問(wèn)題嗎?</font><br>FAQ30.13:有沒(méi)有或許需要重要的三個(gè)當(dāng)中的一個(gè)或兩個(gè)但不是三個(gè)的情況?</font><br>FAQ30.14:有沒(méi)有可能明確地保證重要的三個(gè)的其它情況?</font><br>FAQ30.15:為什么使用memcpy()拷貝一個(gè)對(duì)象會(huì)引起一個(gè)程序崩潰?</font><br>FAQ30.16:為什么帶有可變長(zhǎng)度的變?cè)淼某绦驎?huì)崩潰?</font><br>FAQ30.17:為什么使用realloc()重新分配一個(gè)對(duì)象數(shù)組的程序會(huì)崩潰?</font><br></font><br>第31章 使用對(duì)象阻止內(nèi)存泄漏</font><br></font><br>FAQ31.01:什么時(shí)候內(nèi)存泄漏是重要的?</font><br>FAQ31.02:避免內(nèi)存泄漏的最容易的方法是什么?</font><br>FAQ31.03:資源管理最重要的原則是什么?</font><br>FAQ31.04:管理一個(gè)資源的對(duì)象也應(yīng)該執(zhí)行可能拋擲異常的操作嗎?</font><br>FAQ31.05:一個(gè)對(duì)象應(yīng)該管理兩個(gè)或更多的資源嗎?</font><br>FAQ31.06:如果一個(gè)對(duì)象有一個(gè)指向一個(gè)分配的指針而且該對(duì)象的某一個(gè)成員函數(shù)刪除了該分配將會(huì)怎樣?</font><br>FAQ31.07:在被傳遞給delete之后應(yīng)該如何處理一個(gè)指針變量?</font><br>FAQ31.08:對(duì)于一個(gè)指向一個(gè)在相同的作用域內(nèi)分配和解除分配的對(duì)象的指針應(yīng)該做些什么?</font><br>FAQ31.09:實(shí)現(xiàn)具有指針語(yǔ)義的引用計(jì)數(shù)是如何地容易?</font><br>FAQ31.10:很難實(shí)現(xiàn)具有copy-on-write語(yǔ)義的引用計(jì)數(shù)嗎?</font><br>FAQ31.11:如何對(duì)一個(gè)類體系實(shí)現(xiàn)帶有copy-on-write語(yǔ)義的引用計(jì)數(shù)?</font><br></font><br>第32章 未開(kāi)化的指針和其它可怕的錯(cuò)誤</font><br></font><br>FAQ32.01:什么是一個(gè)未開(kāi)化的指針?</font><br>FAQ32.02:對(duì)于一個(gè)甚至擁有一個(gè)未開(kāi)化的指針的程序會(huì)發(fā)生什么?</font><br>FAQ32.03:通過(guò)警告"返回對(duì)一個(gè)局部對(duì)象的引用"編譯程序意味著什么?</font><br>FAQ32.04:如何控制穿過(guò)塊的范圍的指針?</font><br>FAQ32.05:是否從堆中分配對(duì)象能影響引用與指針問(wèn)題嗎?</font><br>FAQ32.06:什么時(shí)候應(yīng)該使用C風(fēng)格的指針類型轉(zhuǎn)換?</font><br>FAQ32.07:把一個(gè)引用變量綁定到一個(gè)臨時(shí)對(duì)象是安全的嗎?</font><br>FAQ32.08:通過(guò)const引用傳遞的一個(gè)參數(shù)應(yīng)該通過(guò)const引用被返回嗎?</font><br>FAQ32.09:對(duì)象min(x,y)或abs(x)的模板函數(shù)應(yīng)該返回一個(gè)const引用嗎?</font><br>FAQ32.10:什么時(shí)候零不一定是零?</font><br></font><br>第33章 高性能軟件</font><br></font><br>FAQ33.01:壞的性能是壞的設(shè)計(jì)或者壞的編碼的結(jié)果嗎?</font><br>FAQ33.02:改善性能的一些技術(shù)是什么?</font><br>FAQ33.03:使用指針和引用的優(yōu)點(diǎn)是什么?</font><br>FAQ33.04:許多引用和指針的缺點(diǎn)是什么?</font><br>FAQ33.05:成員對(duì)象如何在改善性能的其它方面超過(guò)指針?</font><br>FAQ33.06:哪一個(gè)更好,是++i還是i++?</font><br>FAQ33.07:Fred x(5);、Fred y = 5;和Fred z = Fred(5);之間的區(qū)別是什么?</font><br>FAQ33.08:使用最終類和最終成員函數(shù)時(shí)應(yīng)該考慮什么種類的應(yīng)用程序?</font><br>FAQ33.09:什么是一個(gè)最終類?</font><br>FAQ33.10:什么是一個(gè)最終成員函數(shù)?</font><br>FAQ33.11:最終類和最終成員函數(shù)如何能改善性能?</font><br>FAQ33.12:什么時(shí)候應(yīng)該用一個(gè)完全限定名來(lái)調(diào)用一個(gè)非最終的虛擬函數(shù)?</font><br>FAQ33.13:當(dāng)調(diào)用相同類的另一個(gè)成員函數(shù)時(shí)應(yīng)該使用完全限定嗎?</font><br>FAQ33.14:最終類和最終成員函數(shù)會(huì)引起許多代碼重復(fù)嗎?</font><br>FAQ33.15:為什么一些開(kāi)發(fā)人員不喜歡最終成員函數(shù)和最終類?</font><br>FAQ33.16:一個(gè)編程語(yǔ)言--而不是僅僅編譯程序--能影響軟件的性能嗎?</font><br></font><br>第34章 COM和ActiveX</font><br></font><br>FAQ34.01:誰(shuí)應(yīng)該閱讀這一章?</font><br>FAQ34.02:什么是部件對(duì)象模式?</font><br>FAQ34.03:ActiveX和OLE是什么?</font><br>FAQ34.04:部件對(duì)象模式這個(gè)名字意味著什么?</font><br>FAQ34.05:什么是一個(gè)"二進(jìn)制對(duì)象模式"? </font><br>FAQ34.06:什么是COM的主要的特點(diǎn)?</font><br>FAQ34.07:什么是GUIDs? </font><br>FAQ34.08:為什么COM需要GUIDs(如CLSIDs和IIDs)?</font><br>FAQ34.09:什么是一個(gè)界面?</font><br>FAQ34.10:什么是IUnknown界面?</font><br>FAQ34.11:有多少方法能詳細(xì)說(shuō)明COM界面?</font><br>FAQ34.12:什么是COM類和COM對(duì)象?</font><br>FAQ34.13:調(diào)用程序產(chǎn)生并使用一個(gè)COM對(duì)象是如何困難?</font><br>FAQ34.14:COM如何提供語(yǔ)言透明度?</font><br>FAQ34.15:COM如何提供位置透明度?</font><br>FAQ34.16:因引用計(jì)數(shù)會(huì)出現(xiàn)什么類型的錯(cuò)誤?</font><br>FAQ34.17:COM為錯(cuò)誤處理定義什么機(jī)制?</font><br>FAQ34.18:如何改變界面?</font><br>FAQ34.19:COM是面向?qū)ο蟮膯幔?lt;/font><br>FAQ34.20:關(guān)于COM最大的問(wèn)題是什么?</font><br>FAQ34.21:COM和C++之間的主要區(qū)別是什么?</font><br>FAQ34.22:什么時(shí)候應(yīng)該把一個(gè)類定義為一個(gè)COM類?</font><br>FAQ34.23:自動(dòng)化是什么?</font><br>FAQ34.24:什么是調(diào)度界面?</font><br>FAQ34.25:什么時(shí)候一個(gè)類應(yīng)該暴露一個(gè)調(diào)度界面?</font><br>FAQ34.26:自動(dòng)化如何工作?</font><br>FAQ34.27:Invoke如何實(shí)現(xiàn)所有上述的事情?</font><br>FAQ34.28:什么是一個(gè)類型庫(kù)?</font><br>FAQ34.29:使用類型庫(kù)的益處是什么?</font><br>FAQ34.30:類型庫(kù)如何改善性能?</font><br>FAQ34.31:什么是雙重界面?</font><br>FAQ34.32:在雙重界面上都有什么限制?</font><br>FAQ34.33:什么是OLE常規(guī)控件和ActiveX控件?</font><br>FAQ34.34:為什么ActiveX控件不同于OLE常規(guī)控件?</font><br>FAQ34.35:什么是一個(gè)控件容器?</font><br>FAQ34.36:什么是部件種類?</font><br>FAQ34.37:事件是什么?</font><br>FAQ34.38:什么是DCOM?</font><br>FAQ34.39:DCOM的基礎(chǔ)結(jié)構(gòu)是如何穩(wěn)定的?</font><br>FAQ34.40:什么是COM+?</font><br></font><br>第35章 過(guò)渡到CORBA</font><br></font><br>FAQ35.01:什么是CORBA?</font><br>FAQ35.02:什么是ORB?</font><br>FAQ35.03:什么是IDL?</font><br>FAQ35.04:什么是COS?</font><br>FAQ35.05:什么是OMA?</font><br>FAQ35.06:什么是OMG?</font><br>FAQ35.07:這一章的目的是什么?</font><br>FAQ35.08:這一章最重要的信息是什么?</font><br>FAQ35.09:在CORBA背后的主要概念是什么?</font><br>FAQ35.10:OMG IDL不是非常和C++相同嗎?</font><br>FAQ35.11:一個(gè)CORBA對(duì)象的壽命和一個(gè)C++對(duì)象的壽命相同嗎?</font><br>FAQ35.12:與CORBA實(shí)現(xiàn)相互作用的C++代碼可移植到不同的CORBA供應(yīng)商嗎?</font><br>FAQ35.13:CORBA異常如何與C++異常相比?</font><br>FAQ35.14:哪一個(gè)CORBA實(shí)現(xiàn)是最好的?CORBA好于COM嗎?</font><br></font><br>第36章 C語(yǔ)言思考</font><br></font><br>FAQ36.01:當(dāng)在相同的應(yīng)用程序里混合C和C++代碼時(shí)主要的問(wèn)題是什么?</font><br>FAQ36.02:C++代碼如何調(diào)用C代碼?</font><br>FAQ36.03:C代碼如何調(diào)用C++代碼?</font><br>FAQ36.04:對(duì)于從C++函數(shù)里調(diào)用的C函數(shù)為什么連接程序會(huì)發(fā)生錯(cuò)誤和反之亦然?</font><br>FAQ36.05:如何把一個(gè)C++類的對(duì)象傳遞給一個(gè)C函數(shù)或者從一個(gè)C函數(shù)傳出?</font><br>FAQ36.06:一個(gè)C函數(shù)能直接地訪問(wèn)在一個(gè)C++類的對(duì)象中的數(shù)據(jù)嗎?</font><br>FAQ36.07:能把C++ I/O(<iostream>)和C I/O(<stdio.h>)混合在一起嗎?</font><br>FAQ36.08:哪一個(gè)是更安全的:<iostream>還是<stdio.h>?</font><br>FAQ36.09:哪一個(gè)是更可擴(kuò)充的:<iostream>還是<stdio.h>?</font><br>FAQ36.10:哪一個(gè)是更有彈性的:<iostream> 還是<stdio.h>?</font><br>FAQ36.11:為什么好象C++編程比C感覺(jué)更遠(yuǎn)離機(jī)器?</font><br>FAQ36.12:為什么C++比C在你的背后做更多的事情?</font><br></font><br>第37章 私有和保護(hù)繼承</font><br></font><br>FAQ37.01:什么是私有繼承和保護(hù)繼承?</font><br>FAQ37.02:私有繼承和保護(hù)繼承之間的區(qū)別是什么?</font><br>FAQ37.03:私有和保護(hù)繼承的語(yǔ)法和語(yǔ)義是什么?</font><br>FAQ37.04:什么時(shí)候應(yīng)該使用正常的has-a而不是私有或保護(hù)繼承?</font><br>FAQ37.05:對(duì)于公共、保護(hù)和私有繼承的訪問(wèn)規(guī)則是什么?</font><br>FAQ37.06:在一個(gè)私有的或者保護(hù)的派生類內(nèi),在基類是公共的一個(gè)成員函數(shù)如何能在派生類內(nèi)依然是公共的?</font><br>FAQ37.07:一個(gè)指針應(yīng)該從一個(gè)私有的或者保護(hù)的派生類轉(zhuǎn)換到它的基類嗎?</font><br></font><br>第38章 成員函數(shù)的指針</font><br></font><br>FAQ38.01:指向一個(gè)非靜態(tài)成員函數(shù)的一個(gè)指針的類型是什么?</font><br>FAQ38.02:指向非靜態(tài)成員函數(shù)的指針能夠被傳遞給期望象C的函數(shù)指針的信號(hào)和X事件回調(diào)等處理程序嗎?</font><br>FAQ38.03:當(dāng)使用指向成員函數(shù)的指針時(shí)某一最普通的錯(cuò)誤是什么?</font><br>FAQ38.04:如何聲明一個(gè)非靜態(tài)成員函數(shù)指針數(shù)組?</font><br></font><br>第39章 過(guò)渡到OO和C++</font><br></font><br>FAQ39.01:誰(shuí)應(yīng)該閱讀這一章?</font><br>FAQ39.02:這一章的主要的啟示是什么?</font><br>FAQ39.03:在過(guò)渡方面有多少技術(shù)專長(zhǎng)階段?</font><br>FAQ39.04:為什么要麻煩定義專長(zhǎng)水平?</font><br>FAQ39.05:能從一本書(shū)中學(xué)會(huì)OO/C++嗎?</font><br>FAQ39.06:能從一個(gè)課程中學(xué)會(huì)OO/C++嗎?</font><br>FAQ39.07:學(xué)會(huì)OO/C++的關(guān)鍵是什么?</font><br>FAQ39.08:小項(xiàng)目是開(kāi)始做的一個(gè)好的方式嗎?</font><br>FAQ39.09:作為一個(gè)好的C程序員當(dāng)學(xué)習(xí)OO/C++時(shí)有幫助嗎?</font><br>FAQ39.10:當(dāng)學(xué)習(xí)OO/C++時(shí)什么技術(shù)有幫助?

本目錄推薦

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