留下點(diǎn)回憶
class B{public: DWORD GetLen(){return i;} DWORD i ;};class A{public: DWORD GetLen(){return j;}public: int j ;
}; B b; b.i = 2; A * pA = (A *)&b; int j = pA->GetLen();問(wèn)j=?
posted on 2011-03-15 14:38 笨笨 閱讀(1973) 評(píng)論(5) 編輯 收藏 引用 所屬分類: 調(diào)試
2 回復(fù) 更多評(píng)論
顯然是2,因?yàn)锳和B的內(nèi)存布局是一樣的, 強(qiáng)制轉(zhuǎn)換之后,A與B對(duì)象內(nèi)存對(duì)象無(wú)差別 回復(fù) 更多評(píng)論
@Husiwa 說(shuō)的好。。。 回復(fù) 更多評(píng)論
理想的情況下,應(yīng)該通不過(guò)者靜態(tài)檢查或者代碼走讀為好。 回復(fù) 更多評(píng)論
@天堂的隔壁 C/C++ 編譯器是以內(nèi)存分配為本位,類型和語(yǔ)法限制其次。 回復(fù) 更多評(píng)論
Powered by: C++博客 Copyright © 笨笨