long ua { 1000 };
long long* uptr { (long long*)&ua };
std::cout << *uptr;
为什么这里的结果是输出了一个很大的数,而不是1000呢
long ua { 1000 };
long long* uptr { (long long*)&ua };
std::cout << *uptr;
为什么这里的结果是输出了一个很大的数,而不是1000呢
因为long是32位,而long long 是64为
直接把ua的地址赋给long long 指针,则他把超过ua 地址的部分内存也算在内。