gpt4 book ai didi

c++ - 如果我声明一个指针,类的指针成员会发生什么情况?

转载 作者:行者123 更新时间:2023-11-28 05:37:06 26 4
gpt4 key购买 nike

我写了下面的代码:

#include <iostream>

using namespace std;

class Node {
public:
int id;
Node* n;
};

int main()
{
Node* node;
cout << node->n;
return 0;
}

在这种情况下,我声明了一个指针(它未初始化),但在输出中我获得了一个由“n”给出的地址。如果我不初始化指针,为什么代码会显示一个引用?

最佳答案

它是一个野指针。 VC 编译器为这些指针分配值 0xcdcdcdcd,它可能指向 RAM 中的最后一个内存(不确定)。你不应该取消引用这种指针,因为编译器会抛出内存访问违规。如果你不想将类型为 Node 的对象分配给指针,强烈建议你分配指针具有 NULL 值。在这种情况下,如果指针指向真实对象或未通过检查其地址分配,您将始终能够检查代码。

关于c++ - 如果我声明一个指针,类的指针成员会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38005066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com