2009-07-17 32 views

回答

7

我見過這種情況在ISO會議中彈出,因爲它破壞了一些offsetof()宏實現(LWG 273)。解決辦法:&reinterpret_cast<unsigned char&>(variable)

0

& variable.GetInterfacePtr();

+1

這將檢索存儲在智能指針中的指針地址。不過,我認爲問題是關於如何獲取智能指針的地址。 – 2009-07-17 11:12:50

3

我定義這個效用函數:

template<typename T> 
T *GetRealAddr(T &t) 
    { return reinterpret_cast<T*>(&reinterpret_cast<unsigned char &>(t)); }