c++如何在创建新结构时将NULL值分配给成员指针

标签 c++ pointers struct

我正在使用链表编写游程编码项目。每次我使用 new 创建 Node 时,next 是否有可能具有值 NULL

我有

struct Node{
    int x;
    char c;
    Node* next;
}

class RLElist{
private:
    Node* startList;
public:
    /*some member functions here*/
}

我需要它为 NULL,这样我就可以检查我是否到达了列表的最后一个 Node

最佳答案

有不同的选择:

添加一个对指针进行值初始化的构造函数(使其保持零初始化):

struct Node{
    Node() : next() {}  // you can also value initialize x and c if required.
    int x;
    char c;
    Node* next;
};

在声明点初始化:

struct Node{
    int x;
    char c;
    Node* next = nullptr;
};

值初始化对象:

node* Node = new Node(); // or new Node{};

关于c++如何在创建新结构时将NULL值分配给成员指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24109460/

相关文章:

移动所有者时,对所有者的 C++ 复合引用已损坏

c++ - std::bad_alloc 使用 Botan 进行 PKCS#11

ios - 在 Swift 中从 NSData 中提取结构

c - 使用 malloc、结构和可能参数的问题

c - 如何计算结构上的 crc16

c++ - 我的 for 循环怎么搞砸了?

c++ - 从 C++ 模板中的非 const 左值引用推导出 const 左值引用

c++ - 我已经转换了 The Red Book 9ed ex。 3.7 从旧功能到 4.5 功能,但不显示任何内容

c - 在函数中通过指向多维数组的指针分配指针

c++ - 在堆上创建的变量,指向同一个变量的2个指针有不同的地址?