【发布时间】:2019-02-08 23:44:04
【问题描述】:
我正在尝试构建一个链表,需要一个指向下一个元素的指针 - 还存储数据和指向列表下一个元素的指针。
这是正确的方法吗?我如何通过 main() 访问这种类型的指针?
struct Data {
int data = 1;
};
typedef struct Data Data;
struct Node {
Data d;
struct Node *dir_next;
};
typedef struct Node Node;
【问题讨论】:
-
请注意,您也可以将 typedef 合并到结构定义中(非常常见),或者在结构定义之前执行 typedef。
-
C++ 中不需要
typedef struct -
你所拥有的对我来说看起来非常合理,但我会添加一个
linkedlist类来为你包含和管理节点。这通常会使工作变得更简单。 -
C++ 有内置的标准链表实现:
std::list(双链)和std::forward_list(单链)。您最好学习它们而不是编写自己的实现。
标签: c++ pointers linked-list structure