链表的Rust教程示例是:
enum List {
Cons(u32, Box<List>),
Nil
}
Run Code Online (Sandbox Code Playgroud)
Cons()结构究竟是什么?(这是一个结构对吗?)我无法在任何地方找到任何文档.
naw*_*bgh 25
Cons在Rust中没有特殊含义.它只是本教程的作者喜欢称之为枚举变体的名称.同样List可以定义为:
enum List {
Pair(u32, Box<List>),
Nil
}
Run Code Online (Sandbox Code Playgroud)
该名称cons来自LISP,它使用对(链表的节点)作为数据结构的基本构建块.以下是如何在CommonLisp中创建1,2,3列表
(cons 1 (cons 2 (cons 3 nil)))
Run Code Online (Sandbox Code Playgroud)
cons是constructlisp程序员分配内存的简写.据说分配大量内存的程序cons太多了.