为什么这里uptr逆向读取时要读取8个内存空间的值呢?指针不都是4个字节的内存空间吗?



```c++
#include 
int main()
{
    long ua    { 1000 };
    long long* uptr    { (long long*)&ua };
    std::cout << *uptr;
    system("pause");
    return 0;
}


为什么这里uptr逆向读取时要读取8个内存空间的值呢?指针不都是4个字节的吗

```

是因为64位系统吧,内存地址是64位的

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^