TOP

談VC++對象模型(一)
2012-11-02 08:51:57 】 瀏覽:25522
Tags:

    一個(www.cppentry.com)程序員优乐棋牌app下载,想要進一步提升技術水平的話,應該多了解一些語言的語意細節。對于使用V(www.cppentry.com)的程序員來說,還應該了解一些VC++(www.cppentry.com)對于C++(www.cppentry.com)的詮釋。Inside the C++(www.cppentry.com) Object Model雖然是一本好書,然而,書的篇幅多一些优乐棋牌app下载,又和具體的VC++(www.cppentry.com)關系小一些。因此,從篇幅和內容來看,譯者認為本文是深入理解C++(www.cppentry.com)對象模型比較好的一個出發點。
   
    這篇文章以前看到時就覺得很好,舊文重讀,感覺理解得更多一些了,于是產生了翻譯出來,與大家共享的想法。雖然文章不長,但時間有限,又若干次在翻譯時打盹睡著,拖拖拉拉用了小一個月。
   
    一方面因本人水平所限,另一方面因翻譯時經常打盹,錯誤之處恐怕不少,歡迎大家批評指正。
        
    1 前言
   
    了解你所使用的編程(www.cppentry.com)語言究竟是如何實現的,對于C++(www.cppentry.com)程序員可能特別有意義。首先,它可以去除我們對于所使用語言的神秘感,使我們不至于對于編譯器干的活感到完全不可思議;尤其重要的是,它使我們在Debug和使用語言高級特性的時候,有更多的把握。當需要提高代碼效率的時候,這些知識也能夠很好地幫助我們。
   
    本文著重回答這樣一些問題:
   
    * 類如何布局?
   
    * 成員變量如何訪問?
   
    * 成員函數如何訪問?
   
    * 所謂的"調整塊"(adjuster thunk)是怎么回事?
   
    * 使用如下機制時,開銷如何:
   
    * 單繼承、多重繼承、虛繼承
   
    * 虛函數調用
   
    * 強制轉換到基類,或者強制轉換到虛基類
   
    * 異常處理
   
    首先,我們順次考察C兼容的結構(struct)的布局,單繼承,多重繼承,以及虛繼承;
   
    接著,我們講成員變量和成員函數的訪問,當然,這里面包含虛函數的情況;
   
    再接下來,我們考察構造函數,析構函數,以及特殊的賦值操作符成員函數是如何工作的,數組是如何動態構造和銷毀的;
   
    最后优乐棋牌app下载,簡單地介紹對異常處理的支持。
   
    對每個語言特性,我們將簡要介紹該特性背后的動機,該特性自身的語意(當然,本文決不是"C++(www.cppentry.com)入門",大家對此要有充分認識),以及該特性在微軟的VC++(www.cppentry.com)中是如何實現的。這里要注意區分抽象的C++(www.cppentry.com)語言語意與其特定實現。微軟之外的其他C++(www.cppentry.com)廠商可能提供一個完全不同的實現,我們偶爾也會將VC++(www.cppentry.com)的實現與其他實現進行比較。
   

 


請關注公眾號獲取更多資料



首頁 上一頁 1 2 3 4 5 6 7 下一頁 尾頁 1/47/47
】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇用VC++制作DLL經驗 下一篇VC++數據類型