Re: [問題] 轉型出現問題 不太了解
之前有問過這問題
// 任意的非0值,因為0乘任何數都得0
#define SOME_VALUE 1
cout << (DWORD)static_cast<Base1*>((Drive*)SOME_VALUE)-SOME_VALUE << endl;
cout << (DWORD)static_cast<Base2*>((Drive*)SOME_VALUE)-SOME_VALUE << endl;
cout << (DWORD)static_cast<Base3*>((Drive*)SOME_VALUE)-SOME_VALUE << endl;
這會印 0 4 8 這之前文章我已知道為什麼了
不過我揣摩一下他註解
// 任意的非0值,因為0乘任何數都得0
這不知道再解釋什麼
如果把SOME_VALUE define 0
印出來全部都是0
發現 cout << (DWORD)static_cast<Base2*>((Drive*)SOME_VALUE); 就已經是0了
我粗淺的以為他轉型只會管要 "加" 多少offset
不過為啥他沒有+4....
這跟他註解提到 "乘" 有關係嗎!?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.207.215
→
03/11 18:52, , 1F
03/11 18:52, 1F
推
03/11 19:36, , 2F
03/11 19:36, 2F
→
03/11 19:36, , 3F
03/11 19:36, 3F
→
03/11 19:38, , 4F
03/11 19:38, 4F
→
03/11 19:39, , 5F
03/11 19:39, 5F
→
03/11 19:40, , 6F
03/11 19:40, 6F
→
03/11 19:41, , 7F
03/11 19:41, 7F
→
03/11 19:42, , 8F
03/11 19:42, 8F
→
03/11 19:42, , 9F
03/11 19:42, 9F
→
03/11 19:44, , 10F
03/11 19:44, 10F
→
03/11 19:45, , 11F
03/11 19:45, 11F
→
03/11 22:35, , 12F
03/11 22:35, 12F
推
03/11 22:48, , 13F
03/11 22:48, 13F
→
03/11 22:49, , 14F
03/11 22:49, 14F
→
03/11 22:49, , 15F
03/11 22:49, 15F
→
03/12 00:31, , 16F
03/12 00:31, 16F
→
03/12 00:32, , 17F
03/12 00:32, 17F
推
03/12 00:43, , 18F
03/12 00:43, 18F
→
03/12 00:44, , 19F
03/12 00:44, 19F
→
03/12 00:45, , 20F
03/12 00:45, 20F
→
03/12 00:46, , 21F
03/12 00:46, 21F
→
03/12 00:46, , 22F
03/12 00:46, 22F
→
03/12 01:04, , 23F
03/12 01:04, 23F
→
03/12 01:05, , 24F
03/12 01:05, 24F
→
03/12 01:06, , 25F
03/12 01:06, 25F
推
03/12 10:27, , 26F
03/12 10:27, 26F
推
03/12 11:00, , 27F
03/12 11:00, 27F
→
03/12 11:00, , 28F
03/12 11:00, 28F
→
03/12 11:01, , 29F
03/12 11:01, 29F
→
03/12 11:01, , 30F
03/12 11:01, 30F
→
03/12 11:02, , 31F
03/12 11:02, 31F
→
03/12 11:02, , 32F
03/12 11:02, 32F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
1
7