• shallow编译指示

    shallow编译指示

    shallow 编译指示会影响类型的语义:允许编译器生成浅拷贝。 这可能会导致严重的语义问题并破坏内存安全。 但是,它可以大大加快赋值,因为Nim的语义需要深拷贝序列和字符串。 这可能很昂贵,特别是如果用序列构建树结构:

    1. type
    2. NodeKind = enum nkLeaf, nkInner
    3. Node {.shallow.} = object
    4. case kind: NodeKind
    5. of nkLeaf:
    6. strVal: string
    7. of nkInner:
    8. children: seq[Node]