用户定义的类型作为参考

时间:2018-06-04 11:48:28

标签: nim

这两个定义是否相同?

type
  PersonObj = object
    name: string
    age: int
  PersonRef = ref PersonObj

type
  PersonObj = ref object
    name: string
    age: int

在后者中,PersonObj应该简称为Person吗?

1 个答案:

答案 0 :(得分:3)

它们不等同,因为第一个PersonObj不是ref,而第二个是type PersonRef = ref object name: string age: int 。为了等效,第二个定义应为

Obj

现在Reftype Person = ref object name: string age int 后缀是您自己的决定。通常,如果要始终将类型用作值类型或ref类型,则不使用后缀,因此它只是:

strace killall java