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

深度探索C++對象模型

深度探索C++對象模型

定 價:¥54.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

本立道生(侯捷 譯序)
目錄
前言(Stanley B.Lippman)
第0章 導(dǎo)讀(譯者的話)
第1章 關(guān)于對象(Object Lessons)
加上封裝后的布局成本(Layout Costs for Adding Encapsulation)
1.1 C++模式模式(The C++ Object Model)
簡單對象模型(A Simple Object Model)
表格驅(qū)動對象模型(A Table-driven Object Model)
C++對象模型(The C++ Object Model)
對象模型如何影響程序(How the Object Model Effects Programs)
1.2 關(guān)鍵詞所帶來的差異(A Keyword Distinction)
關(guān)鍵詞的困擾
策略性正確的struct(The Politically Correct Struct)
1.3 對象的差異(An Object Distinction)
指針的類型(The Type of a Pointer)
加上多態(tài)之后(Adding Polymorphism)
第2章 構(gòu)造函數(shù)語意學(xué)(The Semantics of constructors)
2.1 Default Constructor的建構(gòu)操作
“帶有Default Constructor”的Member Class Object
“帶有Default Constructor”的Base Class
“帶有一個Virual Function”的Class
“帶有一個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)換語意學(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 成員們的初始化隊伍(Member Initialization List)
第3章 Data語意學(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 對象成員的效率(Object Member Efficiency)
3.6 指向Data Members的指針(Pointer to Data Members)
“指向Members的指針”的效率問題
第4章 Function語意學(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
形式對數(shù)(Formal Arguments)
局部變量(Local Variables)
第5章 構(gòu)造、解構(gòu)、拷貝 語意學(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 無繼承情況下的對象構(gòu)造
抽象數(shù)據(jù)類型(Abstract Data Type)
為繼承做準(zhǔn)備
5.2 繼承體系下的對象構(gòu)造
虛擬繼承(Virtual Inheritance)
初始化語意學(xué)(The Semantics of the vptr Initialization)
5.3 對象復(fù)制語意學(xué)(Object Copy Semantics)
5.4 對象的功能(Object Efficiency)
5.5 解構(gòu)語意學(xué)(Semantics of Destruction)
第6章 執(zhí)行期語意學(xué)(Runting Semantics)
6.1 對象的構(gòu)造和解構(gòu)(Object Construction and Destruction)
全局對象(Global Objects)
局部靜態(tài)對象(Local Static Objects)
對象數(shù)組(Array of Objects)
Default Constructors和數(shù)組
6.2 new和delete運(yùn)算符
針對數(shù)組的new語意
Placement Operator new的語意
6.3 臨時性對象(Temporary Objects)
臨時性對象的迷思(神話、傳說)
第7章 站在對象模型的類端(On the Cusp of the Object Model)
7.1 Template
Template的“具現(xiàn)”行為(Template Instantiation)
Template的錯誤報告(Error Reporting within a Template)
Template中的名稱決議方式(Name Resolution within a Template)
Member Function的具現(xiàn)行為(Member Function Instantiation)
7.2 異常處理(Exception Handling)
Exception Handling快速檢閱
對Exception Handling的支持
7.3 執(zhí)行期類型識別(Runtime Type Identification,RTTI)
Type-Safe Downcast(保證安全的向下轉(zhuǎn)型操作)
Type-Safe Dynamic Cast(保證安全的動態(tài)轉(zhuǎn)型)
References并不是Pointers
Typeid運(yùn)算符
7.4 效率有了,彈性呢?
動態(tài)共享函數(shù)庫(Dynamic Shared Libraries)
共享內(nèi)存(Shared Memory)

本目錄推薦

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