shallow 编译指示
shallow 编译指示影响类型的语义: 允许编译器进行浅拷贝。这会导致严重的语义问题,破坏内存安全! 但是,它也可以大幅度提高赋值的速度,因为 Nim 的语义要求对序列和字符串做深拷贝。深拷贝代价高昂, 尤其是用序列来构造树形结构的时候:
type
NodeKind = enum nkLeaf, nkInner
Node {.shallow.} = object
case kind: NodeKind
of nkLeaf:
strVal: string
of nkInner:
children: seq[Node]
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .