为什么struct node*写在struct node里面
Why struct node* is written inside a struct node?
我多次看到c++中的节点类被定义为:
struct node
{
whatever data;
struct node* pointerToAnyLinkedNode;
}
现在的问题是为什么在第一行。4、'struct'写在node*?它有特殊的目的吗?因为我不写也不会有什么问题。如果这个问题有重复,我很抱歉。顺便说一句,我找不到。
这是因为这种习惯用法起源于C(其中结构类型在开始时以struct
命名),并且令人不安的是,c++社区中有很大一部分人从在线教程中复制/粘贴他们的代码,而不是真正考虑他们在做什么。
(这也是为什么你会在c++代码中到处看到struct tm
的原因,没有很好的理由。)
在c++中,struct
关键字在这里是多余的。
公平地说,如果您正在编写头文件并希望与C程序兼容,那么将其留在
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- node-gyp 在 macOS 上未正确链接库
- C++Union/Struct位域的实现和可移植性
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- node-gyp 的先有鸡还是先有蛋的问题:指向依赖项中的头文件
- 错误:"Left of getValue must have class/struct/union"
- 在 SVM-Struct 中未定义对 sqrt 的引用(已使用 -lm)
- 数据类型"struct seq<0, 1, 2>{}"含义是什么?
- 在 ubuntu 上安装 node js pulsar 客户端
- 如何使用 Node-addon-API 实现 node-nan 回调
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- NodeJS:node-gyp 编译与等效的 gcc -lm 选项
- 调用'Node'构造函数是不明确的
- 附加使用 Struct 作为"multikey"并将 std::vector 用作映射值的映射
- 为什么struct node*写在struct node里面
- NodeJS: node-ffi, ref-struct, ref-array