c++ - int * a和int * a = new int之间的区别

标签 c++

我在研究Binary Search Tree只是有点怀疑,这里是构造节点的结构。

struct Node 

    { 
        int data; 
        Node* left, *right; 
    }; 

现在我的疑问是,当我创建一个新节点时,为什么必须写
Node* node =new Node;

为什么不
Node* node;

最佳答案

Node* node;

您定义了一个指针,但是该指针没有指向任何东西。
Node* node =new Node

您定义一个指针和一个Node对象,并使该指针指向该对象。

关于c++ - int * a和int * a = new int之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62316471/

相关文章:

c++ - 如何使用 boost_mpi 发送字符串类型?

c++代码解释after::Operator

C++ 删除引用

c++ - 在 xmllib 而不是 xmlParseFile 中解析字符串

c++ - C++ 中的异步文件 I/O

c++ - 类中重载 I/O 运算符的奇怪行为

c++ - 使用 Ackermann 函数 C++ 进行内存

c++ - Swig C++ Lua 通过引用传递类

c++ - STL 容器是否设计为允许继承?

c++ - 包含对的 multimap ?