Re: [問題] 關於Class指標的觀念
看板C_and_CPP (C/C++)作者descent (「雄辯是銀,沉默是金」)時間6年前 (2018/06/01 18:19)推噓1(1推 0噓 0→)留言1則, 1人參與討論串19/19 (看更多)
有了 cfront 之後, 可以看到 member function pointer 是怎麼實作的。
void (A::*mf)() = 0;
printf("sizeof(mf): %u\n", sizeof(mf));
這個程式碼被轉成
typedef int (*__vptp)(void);
struct __mptr {short d; short i; __vptp f; };
struct __mptr __1mf ;
printf ( (const char *)"sizeof(mf): %u\n", sizeof __1mf ) ;
所以這就是為什麼這個指標印出來的大小是 16 (64bit 機器), 而不是 8。
cfront 可以為我們揭露大多數 c++ 實作的祕密。
--
紙上得來終覺淺,絕知此事要躬行。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.218.53.138
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1527848357.A.F1E.html
※ 編輯: descent (61.218.53.138), 06/01/2018 18:19:34
推
06/02 13:13,
6年前
, 1F
06/02 13:13, 1F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章