我有一些C类:
class C (...) { ... }
我想用它来索引一个有效的地图。最有效的地图是一个数组。所以我在伴生对象中添加了一个“全局”“静态”计数器,为每个对象提供唯一 ID:
object C {
var id_counter = 0
}
在 C 的主要构造函数中,每次创建 CI 时都希望记住全局计数器值并增加它。
问题一:怎么办?
现在我可以使用 C 对象中的 id 作为索引数组的完美哈希。但是数组不会像 map 那样保留类型信息,即给定数组由 C 的 id 索引。
问题2:是否有可能具有类型安全性?
更新:
问题 2 中的类型安全涉及地图索引的类型,以避免混合两个不相关的整数。值当然是(类型)安全的..
问题 1 询问如何在默认构造函数中增加变量?
即:放在哪里?
id_counter += 1