C++ 这些空PTR在哪里?

C++ 这些空PTR在哪里?,c++,nullptr,C++,Nullptr,我知道nullprt是什么,但是这些变量x和obj在哪里 堆?或者堆栈?指针只是普通变量,它们的值恰好是其他对象的地址,这些地址可能在堆上 因此,在这个片段中: int* x = nullptr; class_example* obj = nullptr; 与常规局部变量一样,这些指针将位于堆栈上。指针只是普通变量,其值恰好是其他对象的地址,这些地址可能位于堆上 因此,在这个片段中: int* x = nullptr; class_example* obj = nullptr; 与常规局部变

我知道nullprt是什么,但是这些变量x和obj在哪里


堆?或者堆栈?

指针只是普通变量,它们的值恰好是其他对象的地址,这些地址可能在堆上

因此,在这个片段中:

int* x = nullptr;
class_example* obj = nullptr;

与常规局部变量一样,这些指针将位于堆栈上。

指针只是普通变量,其值恰好是其他对象的地址,这些地址可能位于堆上

因此,在这个片段中:

int* x = nullptr;
class_example* obj = nullptr;
与常规局部变量一样,这些指针将位于堆栈上

这些变量x和obj位于哪里

这些变量具有静态存储持续时间,因为它们在名称空间范围中声明,没有thread_local关键字。语言标准没有指定对象的位置。这取决于语言实现

堆?还是堆叠

通常,两者都不是

例如,在ELF可执行文件格式中,零初始化静态变量将位于名为BSS的内存段中

这些变量x和obj位于哪里

这些变量具有静态存储持续时间,因为它们在名称空间范围中声明,没有thread_local关键字。语言标准没有指定对象的位置。这取决于语言实现

堆?还是堆叠

通常,两者都不是


例如,在ELF可执行文件格式中,零个初始化的静态变量将位于名为BSS的内存段中。

无法从给定的代码样本中分辨。无法从给定的代码样本中分辨。
int* x = nullptr;
class_example* obj = nullptr;