作者TRium (要常常换昵称才不烦)
看板EE_DSnP
标题[请益] 印出array前存的数字
时间Sat Dec 16 18:12:50 2006
#include <iostream>
using namespace std;
int main ()
{
int* a=new int [2];
a[0]=1;
a[1]=2;
cout << *(int*)( size_t(a)-4) <<endl;
return 0;
}
我这样写试过(int*)( size_t(a)-4)可以得到减4byte的位置
可是加*後却得不到2,这是为什麽啊?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.13.3
1F:推 ric2k1:Uh... predefined type like "int" has different rules... 12/16 18:16
2F:推 ric2k1:Only your own clas with "destructor" will work. 12/16 18:17
3F:推 ric2k1:I haven't figure out either... 12/16 18:18
4F:推 TRium:那是要用自己定的class才能得到我们想要的结果吗? 12/16 18:20
5F:推 ric2k1:是啊, 如果有人找到是为什麽, 请跟我分享... 12/16 22:47