注冊(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++對(duì)象模型

深度探索C++對(duì)象模型

深度探索C++對(duì)象模型

定 價(jià):¥54.00

作 者: (美)Stanley B.Lippman著;侯捷譯;侯捷譯
出版社: 華中科技大學(xué)出版社
叢編項(xiàng): 侯捷譯作系列
標(biāo) 簽: C++

ISBN: 9787560924182 出版時(shí)間: 2001-01-01 包裝: 平裝
開(kāi)本: 24cm 頁(yè)數(shù): 360 字?jǐn)?shù):  

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

  Inside The C++ Object Model專(zhuān)注于C++對(duì)象導(dǎo)向程序設(shè)計(jì)的底層機(jī)制,包括結(jié)構(gòu)式語(yǔ)意、暫時(shí)性對(duì)象的生成、封裝、繼承,以及虛擬——虛擬函數(shù)和虛擬繼承。這本書(shū)讓你知道:一旦你能夠了解底層實(shí)現(xiàn)模型,你的程序代碼將獲得多么大的效率。Lippman澄清了那些關(guān)于C++額外負(fù)荷與復(fù)雜度的各種錯(cuò)誤信息和迷思,但也指出其中某些成本和利益交換確實(shí)存在。他闡述了各式各樣的實(shí)現(xiàn)模型,指出它們的進(jìn)化之道及其本質(zhì)因素。本書(shū)涵蓋了C++對(duì)象模型的語(yǔ)意暗示,并指出這個(gè)模型是如何影響你的程序的。本書(shū)重點(diǎn):探索“對(duì)象導(dǎo)向程序所支持的C++對(duì)象模型”下的程序行為。對(duì)于“對(duì)象導(dǎo)向性質(zhì)之基礎(chǔ)實(shí)現(xiàn)技術(shù)”以及“各種性質(zhì)背后的隱含利益交換”提供一個(gè)清楚的認(rèn)識(shí)。檢驗(yàn)由程序變形所帶來(lái)的效率沖擊。提供豐富的程序范例、圖片,以及對(duì)象導(dǎo)向觀(guān)念和底層對(duì)象模型之間的效率測(cè)量。C++成山似海的書(shū)籍堆中,這一本不是嬰幼兒奶粉,也不是較大嬰兒奶粉,它是成人專(zhuān)用的低脂高鈣特殊奶粉。對(duì)于C++底層機(jī)制感興趣的讀者,這本書(shū)會(huì)給你“漫卷詩(shī)書(shū)喜欲狂”的感覺(jué)。了解C++ Object Model,是學(xué)習(xí)Component Object Model的最短路線(xiàn)。如果你是一位C++程序員,渴望對(duì)于底層知識(shí)獲得一個(gè)完整的了解,那么Inside The C++ Object Model正適合你。關(guān)于作者:Stanley Lippman目前是華特迪斯尼主題動(dòng)畫(huà)公司(Walt Disney Feature Animation)的主要軟件工程師。他曾經(jīng)在A(yíng)T&T貝爾實(shí)驗(yàn)室領(lǐng)導(dǎo)cfront 3.0和2.1版的編譯器開(kāi)發(fā)小組。他也是貝爾實(shí)驗(yàn)室中由Bjame Stroustrup所領(lǐng)導(dǎo)的Foundation專(zhuān)案組中的一員,負(fù)責(zé)對(duì)象模型并研究C++程序開(kāi)發(fā)環(huán)境。Stan著有極為成功的C++ Primer一書(shū),也發(fā)表過(guò)許多C++方面的論文。Stan最近剛從C++ Report的編輯位置上“退隱”,他曾在那個(gè)位置上做了4年。他的C++論述遍及全球。關(guān)于譯者:侯捷,海峽兩岸著名的電腦技術(shù)自由作家,對(duì)于技術(shù)的鉆研和發(fā)表,有獨(dú)特的品性與堅(jiān)持。作品涵蓋著、譯、評(píng)三方面,散見(jiàn)于各種刊特、媒體、網(wǎng)站論壇,深受讀者喜愛(ài)和尊敬。

作者簡(jiǎn)介

  StanleyB.Lippman暢銷(xiāo)圖書(shū)《C++Primer(3RD)中文版》的原版作者StanleyB.Lippman的職業(yè)是提供關(guān)于C++和面向?qū)ο蟮挠?xùn)練、咨詢(xún)、設(shè)計(jì)和指導(dǎo)。他在成為一名獨(dú)立咨詢(xún)顧問(wèn)之前,曾經(jīng)是迪士尼動(dòng)化公司的首席軟件設(shè)計(jì)師。當(dāng)他在A(yíng)T&TBell實(shí)驗(yàn)室的時(shí)候,領(lǐng)導(dǎo)了cfront3.0版本和2.1版本的編譯器開(kāi)發(fā)組。他也是BjarneStroustrup領(lǐng)導(dǎo)的Bell實(shí)驗(yàn)室Foundation項(xiàng)目的成員之一,負(fù)責(zé)C++程序設(shè)計(jì)環(huán)境中的對(duì)象模型部分。他還撰寫(xiě)了許多關(guān)于C++的文章。目前他已受雇于微軟公司,負(fù)責(zé)VisualC++項(xiàng)目。遍及全球,深受廣大C++學(xué)者的喜歡。>>更多作品譯者:侯捷臺(tái)灣資深技術(shù)作家、譯者。閑靜少言。不慕榮利。好讀書(shū)。求甚解。侯捷先生以為“任何書(shū)籍如果缺少讀者,再怎么優(yōu)秀都將喪失價(jià)值。因此,做為一位書(shū)評(píng)人,我非常樂(lè)見(jiàn)評(píng)選風(fēng)氣興盛。雖然所謂“喜愛(ài)”帶有很大的主觀(guān)成份,但這類(lèi)評(píng)選仍然具有十分正面的價(jià)值,可以帶給讀者、作者、譯者、出版者很大的參與感,對(duì)于讀書(shū)風(fēng)氣、好書(shū)浮現(xiàn)率都有幫助?!鄙钊霚\出MFC(第二版)>>更多作品

圖書(shū)目錄

本立道生(侯捷 譯序)
目錄
前言(Stanley B.Lippman)
第0章 導(dǎo)讀(譯者的話(huà))
第1章 關(guān)于對(duì)象(Object Lessons)
加上封裝后的布局成本(Layout Costs for Adding Encapsulation)
1.1 C++模式模式(The C++ Object Model)
簡(jiǎn)單對(duì)象模型(A Simple Object Model)
表格驅(qū)動(dòng)對(duì)象模型(A Table-driven Object Model)
C++對(duì)象模型(The C++ Object Model)
對(duì)象模型如何影響程序(How the Object Model Effects Programs)
1.2 關(guān)鍵詞所帶來(lái)的差異(A Keyword Distinction)
關(guān)鍵詞的困擾
策略性正確的struct(The Politically Correct Struct)
1.3 對(duì)象的差異(An Object Distinction)
指針的類(lèi)型(The Type of a Pointer)
加上多態(tài)之后(Adding Polymorphism)
第2章 構(gòu)造函數(shù)語(yǔ)意學(xué)(The Semantics of constructors)
2.1 Default Constructor的建構(gòu)操作
“帶有Default Constructor”的Member Class Object
“帶有Default Constructor”的Base Class
“帶有一個(gè)Virual Function”的Class
“帶有一個(gè)virual Base class”的Class
總結(jié)
2.2 Copy Constructor的建構(gòu)操作
Default Memberwise Initialization
Bitwise Copy Semantics(位逐次拷貝)
不要Bitwise Copy Semantics!
重新設(shè)定的指針Virtual Table
處理Virtual Base Class Subobject
2.3程序轉(zhuǎn)換語(yǔ)意學(xué)(Program Transformation Semantics)
明確的初始化操作(Explicit Initialization)
參數(shù)的初始化(Argument Initialization)
返回值的初始化(Return Value Initialization)
在使用者層面做優(yōu)化(Optimization at the user Level)
在編譯器層面做優(yōu)化(Optimization at the Compiler Level)
Copy Constructor:要還是不要?
摘要
2.4 成員們的初始化隊(duì)伍(Member Initialization List)
第3章 Data語(yǔ)意學(xué)(The Semantics of Data)
3.1 Data Member的綁定(The Binding of a Data Member)
3.2 Data Member的布局(Data Member Layout)
3.3 Data Member的存取
Static Data Members
Nonstatic Data Member
3.4 “繼承”與Data Member
只要繼承不要多態(tài)(Inheritance without Polymorphism)
加上多態(tài)(Adding Polymorphism)
多重繼承(Multiple Inheritance)
虛擬繼承(Virtual Inheritance)
3.5 對(duì)象成員的效率(Object Member Efficiency)
3.6 指向Data Members的指針(Pointer to Data Members)
“指向Members的指針”的效率問(wèn)題
第4章 Function語(yǔ)意學(xué)(The Semantics of Function)
4.1 Member的各種調(diào)用方式
Nonstatic Member Functions(非靜態(tài)成員函數(shù))
Virtual Member Functions(虛擬成員函數(shù))
Static Member Functions(靜態(tài)成員函數(shù))
4.2 Virtual Member Functions(虛擬成員函數(shù))
多重繼承下的Virtual Functions
虛擬繼承下的Virtual Functions
4.3 函數(shù)的效能
4.4 指向Member Functions的指針(Pointer-to-Member Functions)
支持“指向Virtual Member Functions”之指針
在多重繼承之下,指向Member Functions的指針
“指向Member Functions之指針”的效率
4.5 Inline Functions
形式對(duì)數(shù)(Formal Arguments)
局部變量(Local Variables)
第5章 構(gòu)造、解構(gòu)、拷貝 語(yǔ)意學(xué)(Semantics of Construction,Destruction,and Copy)
純虛擬函數(shù)的存在(Presence of a Pure Virtual Function)
虛擬規(guī)格的存在(Presence of a Virtual Specification)
虛擬規(guī)格中const的存在
重新考慮class的聲明
5.1 無(wú)繼承情況下的對(duì)象構(gòu)造
抽象數(shù)據(jù)類(lèi)型(Abstract Data Type)
為繼承做準(zhǔn)備
5.2 繼承體系下的對(duì)象構(gòu)造
虛擬繼承(Virtual Inheritance)
初始化語(yǔ)意學(xué)(The Semantics of the vptr Initialization)
5.3 對(duì)象復(fù)制語(yǔ)意學(xué)(Object Copy Semantics)
5.4 對(duì)象的功能(Object Efficiency)
5.5 解構(gòu)語(yǔ)意學(xué)(Semantics of Destruction)
第6章 執(zhí)行期語(yǔ)意學(xué)(Runting Semantics)
6.1 對(duì)象的構(gòu)造和解構(gòu)(Object Construction and Destruction)
全局對(duì)象(Global Objects)
局部靜態(tài)對(duì)象(Local Static Objects)
對(duì)象數(shù)組(Array of Objects)
Default Constructors和數(shù)組
6.2 new和delete運(yùn)算符
針對(duì)數(shù)組的new語(yǔ)意
Placement Operator new的語(yǔ)意
6.3 臨時(shí)性對(duì)象(Temporary Objects)
臨時(shí)性對(duì)象的迷思(神話(huà)、傳說(shuō))
第7章 站在對(duì)象模型的類(lèi)端(On the Cusp of the Object Model)
7.1 Template
Template的“具現(xiàn)”行為(Template Instantiation)
Template的錯(cuò)誤報(bào)告(Error Reporting within a Template)
Template中的名稱(chēng)決議方式(Name Resolution within a Template)
Member Function的具現(xiàn)行為(Member Function Instantiation)
7.2 異常處理(Exception Handling)
Exception Handling快速檢閱
對(duì)Exception Handling的支持
7.3 執(zhí)行期類(lèi)型識(shí)別(Runtime Type Identification,RTTI)
Type-Safe Downcast(保證安全的向下轉(zhuǎn)型操作)
Type-Safe Dynamic Cast(保證安全的動(dòng)態(tài)轉(zhuǎn)型)
References并不是Pointers
Typeid運(yùn)算符
7.4 效率有了,彈性呢?
動(dòng)態(tài)共享函數(shù)庫(kù)(Dynamic Shared Libraries)
共享內(nèi)存(Shared Memory)

本目錄推薦

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