深度探索C++對象模型 pdf epub mobi txt 電子書 下載 2024
☆☆☆☆☆
簡體網頁||
繁體網頁
斯坦利•B.李普曼 (Stanley B. Lippman)
電子工業齣版社
博文視點
侯捷
2012-1-1
320
69.00元
平裝
傳世經典書叢
9787121149528
圖書標籤:
C++
C/C++
編程
經典之作
麵嚮對象
計算機
深度探索C++對象模型
計算機科學
喜歡 深度探索C++對象模型 的讀者還喜歡
下載链接在页面底部
點擊這裡下載
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
发表于2024-11-22
深度探索C++對象模型 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
深度探索C++對象模型 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
深度探索C++對象模型 pdf epub mobi txt 電子書 下載 2024
圖書描述
作者Lippman參與設計瞭全世界第一套C++編譯程序cfront,這本書就是一位偉大的C++編譯程序設計者嚮你闡述他如何處理各種explicit(明確齣現於C++程序代碼中)和implicit(隱藏於程序代碼背後)的C++語意。
本書專注於C++麵嚮對象程序設計的底層機製,包括結構式語意、臨時性對象的生成、封裝、繼承,以及虛擬——虛擬函數和虛擬繼承。這本書讓你知道:一旦你能夠瞭解底層實現模型,你的程序代碼將獲得多麼大的效率。Lippman澄清瞭那些關於C++額外負荷與復雜度的各種錯誤信息和迷思,但也指齣其中某些成本和利益交換確實存在。他闡述瞭各式各樣的實現模型,指齣它們的進化之道及其本質因素。書中涵蓋瞭C++對象模型的語意暗示,並指齣這個模型是如何影響你的程序的。
對於C++底層機製感興趣的讀者,這必然是一本讓你大呼過癮的絕妙好書。
深度探索C++對象模型 下載 mobi epub pdf txt 電子書
著者簡介
Stanley B.Lippman
微軟公司Visual C++ 團隊的架構師。他從1984年開始在貝爾實驗室與C++的設計者Bjarne Stroustrup一起從事C++的設計與開發。他還著有Inside the C++ Object Model。
圖書目錄
本立道生(侯捷 譯序)III目錄VII前言(Stanley B. Lippman)XIII第0章 導讀(譯者的話)XXV第1章 關於對象(Object Lessons)1 加上封裝後的布局成本(Layout Costs for Adding Encapsulation)5 1.1 C++對象模式(The C++ Object Model)6 簡單對象模型(A Simple Object Model)7 錶格驅動對象模型(A Table-driven Object Model)8 C++對象模型(The C++ Object Model)9 對象模型如何影響程序(How the Object Model Effects Programs)13 1.2 關鍵詞所帶來的差異(A Keyword Distinction)15 關鍵詞的睏擾16 策略性正確的struct(The Politically Correct Struct)19 1.3 對象的差異(An Object Distinction)22 指針的類型(The Type of a Pointer)28 加上多態之後(Adding Polymorphism)29第2章 構造函數語意學(The Semantics of Constructors)37 2.1 Default Constructor的構造操作39 “帶有Default Constructor”的Member Class Object41 “帶有Default Constructor”的Base Class44 “帶有一個Virtual Function”的Class44 “帶有一個Virtual Base Class”的Class46 總結47 2.2 Copy Constructor的構造操作48 Default Memberwise Initialization49 Bitwise Copy Semantics(位逐次拷貝)51 不要Bitwise Copy Semantics!53 重新設定Virtual Table的指針54 處理Virtual Base Class Subobject57 2.3 程序轉化語意學(Program Transformation Semantics)60 顯式的初始化操作(Explicit Initialization)61 參數的初始化(Argument Initialization)62 返迴值的初始化(Return Value Initialization)63 在使用者層麵做優化(Optimization at the User Level)65 在編譯器層麵做優化(Optimization at the Compiler Level)66 Copy Constructor:要還是不要?72 摘要74 2.4 成員們的初始化隊伍(Member Initialization List)74第3章 Data語意學(The Semantics of Data)83 3.1 Data Member的綁定(The Binding of a Data Member)88 3.2 Data Member的布局(Data Member Layout)92 3.3 Data Member的存取94 Static Data Members95 Nonstatic Data Members97 3.4 “繼承”與Data Member99 隻要繼承不要多態(Inheritance without Polymorphism)100 加上多態(Adding Polymorphism)107 多重繼承(Multiple Inheritance)112 虛擬繼承(Virtual Inheritance)116 3.5 對象成員的效率(Object Member Efficiency)124 3.6 指嚮Data Members的指針(Pointer to Data Members)129 “指嚮Members的指針”的效率問題134第4章 Function語意學(The Semantics of Function)139 4.1 Member的各種調用方式140 Nonstatic Member Functions(非靜態成員函數)141 Virtual Member Functions(虛擬成員函數)147 Static Member Functions(靜態成員函數)148 4.2 Virtual Member Functions(虛擬成員函數)152 多重繼承下的Virtual Functions159 虛擬繼承下的Virtual Functions168 4.3 函數的效能170 4.4 指嚮Member Function的指針(Pointer-to-Member Functions)174 支持“指嚮Virtual Member Functions”的指針176 在多重繼承之下,指嚮Member Functions的指針178 “指嚮Member Functions之指針”的效率180 4.5 Inline Functions182 形式參數(Formal Arguments)185 局部變量(Local Variables)186第5章 構造、析構、拷貝語意學(Semantics of Construction, Destruction, and Copy)191 純虛函數的存在(Presence of a Pure Virtual Function)193 虛擬規格的存在(Presence of a Virtual Specification)194 虛擬規格中const的存在195 重新考慮class的聲明195 5.1 “無繼承”情況下的對象構造196 抽象數據類型(Abstract Data Type)198 為繼承做準備202 5.2 繼承體係下的對象構造206 虛擬繼承(Virtual Inheritance)210 vptr初始化語意學(The Semantics of the vptr Initialization)213 5.3 對象復製語意學(Object Copy Semantics)219 5.4 對象的效能(Object Efficiency)225 5.5 析構語意學(Semantics of Destruction)231第6章 執行期語意學(Runtime Semantics)237 6.1 對象的構造和析構(Object Construction and Destruction)240 全局對象(Global Objects)242 局部靜態對象(Local Static Objects)247 對象數組(Array of Objects)250 Default Constructors和數組252 6.2 new和delete運算符254 針對數組的new語意257 Placement Operator new的語意263 6.3 臨時性對象(Temporary Objects)267 臨時性對象的迷思(神話、傳說)275第7章 站在對象模型的尖端(On the Cusp of the Object Model)279 7.1 Template280 Template的“實例化”行為(Template Instantiation)281 Template的錯誤報告(Error Reporting within a Template)285 Template中的名稱決議法(Name Resolution within a Template)289 Member Function的實例化行為(Member Function Instantiation)292 7.2 異常處理(Exception Handling)297 Exception Handling快速檢閱298 對Exception Handling的支持303 7.3 執行期類型識彆(Runtime Type Identification,RTTI)308 Type-Safe Downcast(保證安全的嚮下轉換操作)310 Type-Safe Dynamic Cast(保證安全的動態轉換)311 References並不是Pointers313 Typeid運算符314 7.4 效率有瞭,彈性呢?318 動態共享函數庫(Dynamic Shared Libraries)318 共享內存(Shared Memory)318
· · · · · · (
收起)
深度探索C++對象模型 pdf epub mobi txt 電子書 下載
用戶評價
評分
☆☆☆☆☆
內容太過時瞭,放棄.
評分
☆☆☆☆☆
內容太過時瞭,放棄.
評分
☆☆☆☆☆
構造函數語義學、Data語義學、Function語義學、構造/析構/拷貝語義學、執行期語義學,看標題就是這麼高大上。。。C++裏麵通用的一般規則,凡是碰到virtual function/virtual base class,都會齣現特例處理情況。 慕名本書久矣,本科畢業到現在5年瞭,纔終於第一次拜讀此大作~ 正如其他讀者所言,這是一本值得多次反復閱讀的好書,也正如書中所言,這是一本麵嚮具有一定C++基礎的中高級程序員的技術書籍,讀這本書不能使你寫代碼、做需求的能力有立竿見影的提升,但是讀瞭以後你會發現自己對C++、對對象模型有瞭比以前更多的思考和瞭解,絕對能夠提升讀者的程序員內功! 第一次拜讀感覺收獲很多,但也還留有不少感覺不明晰之處,期待日後再次拜讀有更多的收獲!!
評分
☆☆☆☆☆
大體還算流暢,比如說從最簡單的布局/語義入手,然後一步步加繼承、多態、多重繼承、虛擬繼承,或是加全局、靜態。不過很多地方推動的還是不自然,比如說為什麼要有dynamic_cast, 為什麼要有distinction。 另外作者是完全不更新瞭嗎,這麼多年C++增加瞭好多內容,好歹也寫下move semantics吧。lol anyway,整體上學瞭很多知識,知道瞭更多“當代碼跑起來,實際發生瞭什麼”。
評分
☆☆☆☆☆
大體還算流暢,比如說從最簡單的布局/語義入手,然後一步步加繼承、多態、多重繼承、虛擬繼承,或是加全局、靜態。不過很多地方推動的還是不自然,比如說為什麼要有dynamic_cast, 為什麼要有distinction。 另外作者是完全不更新瞭嗎,這麼多年C++增加瞭好多內容,好歹也寫下move semantics吧。lol anyway,整體上學瞭很多知識,知道瞭更多“當代碼跑起來,實際發生瞭什麼”。
讀後感
評分
☆☆☆☆☆
理由有以下几条 一、书比较老了,是在C++ 98标准出来之前写的 二、细节错误比较多,侯捷的翻译导读里说他更正了不少,可谁知道还有多少细节错误没发现;而且,我发现他的译文有些地方也有问题,原文本来正确的,却纠正成错的了 三、除非从事编译器方面的工作,没必要死抠细...
評分
☆☆☆☆☆
看看书里的c++内存模型,虚表、多继承,难度不小。 由于c++复杂的特性,开发c++编译器的高人们八成是费了老力了,感谢一下他们。
評分
☆☆☆☆☆
基于cfront来说明,如何将C++的面向对象的机制映射到C语言中。因为,cfront本来就是源码层的翻译工具。 可以关注的主要重点是: CPP相对C的一些额外的隐形的工作,这些工作都是通过什么方法用C语言来解决。 面向对象后,带来的工作量。如何设置vtable,如何实现继承和多态。 接...
評分
☆☆☆☆☆
C++程序员晋级必读书, 侯捷翻译的也相当出色, 正本书对C++的对象内存形式,继承的实现,多重继承,静态对象等做了详细描述。
評分
☆☆☆☆☆
如果你跟我一样是个智商在250整点上的青年,如果你也觉得看看技术书,尤其是web青年都不待见的C++相关的技术书非常流弊,来试试吧,这本书最合适你了,看了之后也不用跟着写几行代码,顶多一把一把的薅头发,反正不费电!以前看书,书里总得告儿我别这样别那样,要这样要那样,...
類似圖書 點擊查看全場最低價
深度探索C++對象模型 pdf epub mobi txt 電子書 下載 2024