C++ 對象模型詳解
秦連松
買這商品的人也買了...
-
資料壓縮 (Introduction to Data Compression, 3/e)$550$495 -
機器學習的數學基礎 : AI、深度學習打底必讀$580$493 -
$708C++ 新經典 -
$504C++ 語言的設計和演化 (The Design and Evolution of C++) -
資料科學的建模基礎 : 別急著 coding!你知道模型的陷阱嗎?$599$509 -
資料科學的統計實務 : 探索資料本質、扎實解讀數據,才是機器學習成功建模的第一步$599$539 -
機器學習的統計基礎 : 深度學習背後的核心技術$680$612 -
$336低速無人駕駛技術實戰 -
$504C++ 新經典:設計模式 -
OAuth 2.0 從入門到實戰:利用驗證和授權守護 API 的安全$600$468 -
嵌入式系統設計 — 基於 Cortex-M 處理器與 RTOS 構建$479$455 -
徹底研究 C語言指標 (經典修復版) (Pointers on C)$980$764 -
$708現代 C++ 程式實戰:132個核心技巧範例 (原書第2版) -
半導體儲存裝置與電路$594$564 -
$987C++ 編程之禪:從理論到實踐 -
$521C++ 實戰:核心技術與最佳實踐 -
從源頭就優化 - 動手開發自己的編譯器實戰$880$695 -
C++23 高級編程, 6/e$1,434$1,362 -
精通現代 C++ 11/14/17/20$534$507 -
$417了不起的 Markdown:大語言模型時代的通用語言 -
建構可擴展系統|設計分散式架構 (Foundations of Scalable Systems: Designing Distributed Architectures)$780$616 -
$550代碼隨想錄2:圖論 -
Programming:Principles and Practice Using C++, 3/e (繁體中文版)$990$782 -
裸機 C編程:嵌入式系統 C程序設計$594$564 -
RAG 再深入研究 - 向量資料庫智慧檢索及應用$880$695
簡體書新到貨|2書75折 (8/25--8/31) 詳見活動內容 »
-
VIP 95折
量子計算與人工智能$648$615 -
VIP 95折
圖解Skill+OpenClaw:零代碼打造你的AI智能助手$414$393 -
VIP 95折
OpenClaw快速上手極簡部署與實戰$299$284 -
VIP 95折
LangChain與大語言模型應用開發實踐$299$284 -
85折
$1,014系統安全工程導論 -
85折
$351機器人學基礎 第4版 -
85折
$254國產龍蝦實操手冊:12款OpenClaw國產AI工具零基礎入門+全場景應用(視頻教學版) -
85折
$606openvela輕量系統開發實戰 -
85折
$504智能網聯汽車:AUTOSAR Adaptive平臺技術體系與應用指南 -
VIP 95折
智能體的超級大腦:大模型工作原理揭秘$359$341 -
VIP 95折
30天輕松學會SQL$599$569 -
VIP 95折
大模型賦能的智能體系統原理與實踐$299$284 -
VIP 95折
先進智能感知技術與應用$1,008$957 -
VIP 95折
視覺智能 — 技術前沿與應用探索$894$849 -
VIP 95折
分布式數據庫系統:原理解析與架構設計$474$450 -
VIP 95折
理解深度學習$534$507 -
VIP 95折
AI 優先:面向未來的企業和品牌行動指南$414$393 -
VIP 95折
玩賺 AI 短視頻 : DeepSeek + 即夢 + 剪映 打造爆款視頻$474$450 -
VIP 95折
飛書雲端安全養蝦 極簡OpenClaw實操手冊$479$455 -
VIP 95折
雲網融合的新型網絡架構$594$564 -
VIP 95折
Seedance創富手冊:零基礎做電商帶貨和自媒體$474$450 -
VIP 95折
Python辦公自動化:基於銀河麒麟(Kylin)系統的實現方法$414$393 -
VIP 95折
自然語言處理實踐:語義理解與信息抽取$534$507 -
VIP 95折
大模型應用$354$336 -
VIP 95折
生成式大模型項目實戰(微課版)$359$341
相關主題
商品描述
本書基於GCC/Clang編譯器深入講解C++對象模型的相關知識,涵蓋C++對象的內部工作原理及底層的匯編實現機制。
本書先介紹對象模型的基本概念,並引入兩個用於研究C++代碼實現的開源工具一cppinsights和 Compiler Explorer。接著,依次講解C++數據語義學,即編譯器如何布局C++對象模型中的數據成 C++函數語義學,包括編譯器如何實現C++中的多態、如何調用虛函數等;C++構造、析構語義學,涉及編譯器對 C++對象的構造和析構方式,包括全局對象和靜態局部變量的構造等內容;C++異常處理,包括GCC中異常處理的實現方式及實踐準則;C++運行時類型識別(RTTI)的實現原理,包括 dynamic_cast算法的具體實現;C++Name Mangling規則,包括GCC對C++代碼中各個名稱的編碼方式。
本書適合有意深入理解C++對象模型、了解C++代碼底層實現的讀者閱讀。閱讀本書需要具備一定的C++基礎知識。
作者簡介
秦連松,碩士畢業於中國科學院大學,曾在百度、字節跳動等公司從事C++開發工作,目前在小米公司從事虛擬機相關的工作。
目錄大綱
第 1 章 概述 1
第 2 章 工具 5
2.1 使用 cppinsights 5
2.2 使用 Compiler Explorer 12
2.3 總結 13
第 3 章 數據語義學 15
3.1 數據成員布局 17
3.2 繼承與數據成員 36
3.3 數據成員的存取 55
3.4 指向成員變量的指針 57
3.5 總結 62
第 4 章 函數語義學 63
4.1 C++函數決議 64
4.2 虛表構造 69
4.3 成員函數的調用方式 79
4.4 虛成員函數的調用方式 89
4.5 指向成員函數的指針 99
4.6 總結 107
第 5 章 構造、析構語義學 109
5.1 對象構造 110
5.2 對象析構 131
5.3 全局對象構造與析構 145
5.4 總結 151
第 6 章 異常處理 155
6.1 C++異常的約定 157
6.2 GCC 中 C++異常的實現 169
6.3 現代 C++中的異常介紹 189
6.4 C++異常的處理 193
6.5 總結 196
第 7 章 運行時類型識別 197
7.1 RTTI 布局 198
7.2 typeid 操作符 206
7.3 dynamic_cast 算法 211
7.4 總結 215
第 8 章 Name Mangling 規則 217
8.1 基本概念 218
8.2 操作符的編碼 222
8.3 一些特殊函數和實體的編碼 224
8.4 類型編碼 227
8.5 表達式編碼 234
8.6 作用域編碼 241
8.7 lambda 表達式編碼 243
8.8 壓縮 246
8.9 總結 251


