链表的Rust教程示例是:
enum List {
Cons(u32, Box<List>),
Nil
}
Cons()
结构究竟是什么? (这是一个结构吗?)我无法在任何地方找到任何文档。
答案 0 :(得分:20)
Cons
在Rust中没有特殊含义。它只是本教程的作者喜欢称之为枚举变体的名称。相同的List
可以定义为:
enum List {
Pair(u32, Box<List>),
Nil
}
名称cons
来自LISP,它使用对(链表的节点)作为数据结构的基本构建块。以下是如何在CommonLisp
(cons 1 (cons 2 (cons 3 nil)))
cons
是construct
的简写,lisp程序员指的是分配内存。分配大量内存的程序被认为是cons
太多了。