c++ - 内存地址可以存储为整数类型吗?

标签 c++ visual-c++

我们能否以整数类型存储一个内存地址,例如,如果我这样做,那么我会得到一个错误:

int i;
int j = &i;

我知道我们可以通过使用像 int* j = &i 这样的指针来做到这一点,但我想知道是否有任何其他方法可以在不使用指针的情况下存储地址。请让我知道我是否可以使用 int 类型执行此操作。

最佳答案

当在 int 中存储地址时,地址的一部分很可能会被截断。我不确定为什么需要将地址存储为 int,但如果确实需要,请使用 std::intptr_t。它足够大,可以容纳一个地址。

关于c++ - 内存地址可以存储为整数类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36441027/

相关文章:

c++ - 反转for循环导致系统错误

c++ - 类构造函数不保存变量

c++ - 为什么要使用 Cstring 而不是 wchar_t

c++ flood fill图像递归算法错误

C++ 指针崩溃(未初始化)

c++ - 迭代时如何知道我在树的末尾?

c++ - Visual Studio 2013 代码分析卡在 native 代码上

c++ - 为什么 MSVC 编译器将 "??-"序列转换为字符串文字中的 "~"?

c++ - 为什么 list::push_back 在 VC++ 中比在 g++ 中慢得多?

c++ - 为什么我的 C++ 控制台在接受用户输入时会关闭?