【发布时间】:2011-08-25 12:55:54
【问题描述】:
我在64位linux下使用c++,编译器(g++)也是64位的。当我打印某个变量的地址时,例如一个整数,它应该打印一个 64 位的整数,但实际上它打印的是一个 48 位的整数。
int i;
cout << &i << endl;
output: 0x7fff44a09a7c
我想知道另外两个字节在哪里。期待您的帮助。
谢谢。
【问题讨论】:
-
数字
1有多少位?你会抱怨uint32_t x = 1;没有足够的位吗?你应该检查sizeof(*int)而不是打印东西。