gpt4 book ai didi

julia - 我可以在外部构造函数中为参数类型构建无参数构造函数吗?

转载 作者:行者123 更新时间:2023-12-04 21:37:57 25 4
gpt4 key购买 nike

为了实例化像 x = MyType{Int}() 这样的类型

我可以定义一个内部构造函数。

immutable MyType{T}
x::Vector{T}

MyType() = new(T[])
end

是否可以使用外部构造函数实现相同的目标?

最佳答案

这可以使用以下语法完成:

(::Type{MyType{T}}){T}() = MyType{T}(T[])

第一组括号中的事物描述了被调用的对象。 ::T表示“类型 T”,因此这是调用类型 Type{MyType{T}} 的对象的定义,表示对象 MyType{T}本身。下一个 {T}意味着 T是此定义的一个参数,并且必须提供它的值才能调用此定义。所以 MyType{Int}匹配,但 MyType没有。从那时起,语法应该是熟悉的。

这种语法肯定有点繁琐和不直观,我们希望在该语言的 future 版本中改进它,希望是 v0.6。

关于julia - 我可以在外部构造函数中为参数类型构建无参数构造函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33570684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com