CPython 中如何实现frozenset 相等?特别是,我想知道 fronzenset 中的各个元素如何相互比较以及它们的总时间复杂度。
我查看了set 和frozenset 在实现和/sf/answers/3624485581/ 中的差异。
第二个链接中的答案涵盖了比较集合中各个元素之前的步骤,但缺少实际的比较算法。
是否可以定义枚举而不用担心 Rust 中的内存分配?
假设以下是我的枚举的定义。
pub enum Orientation {
North,
South,
East,
West,
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以Orientation::North在代码中引用相同的 say 实例。
以下代码是否生成了两个单独的实例North?
let o1 = Orientation::North;
let o2 = Orientation::North;
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过定义如下静态变量来实现它。有没有更好的(语法上更安全/更简单/更干净)的方法来做同样的事情?
pub enum Orientation {
North,
South,
East,
West,
}
static NORTH: Orientation = Orientation::North;
static SOUTH: Orientation = Orientation::South;
static WEST: Orientation = Orientation::West;
static EAST: Orientation = Orientation::East;
Run Code Online (Sandbox Code Playgroud)