Julia参数化元类型
元类型同样可以进行参数化,声明的基本语法为:
primitive type类型名{T} bits end
其中,primitive type
为声明关键字,T是类型参数。
同样,具象化的元类型均是参数化元类型的子类型;不同的具象元类型无父子关系,而且是独立的、不同的类型。
例如,Julia中有个元类型Ptr,其定义为:
primitive type Ptr{T} 32 end # 32位系统
primitive type Ptr{T} 64 end # 64位系统
当T不同时,便是不同的Ptr类型。
该类型专门用于在混合编程时兼容C/C++语言中的指针类型。实际应用中,可以把Ptr理解为C/C++语言中星号的作用,T不同便声明了不同指针类型,意味着Ptr所指内容的存储结构是不同的。例如Ptr{Int64}对应于C/C++中的int*
用法,表示int型的指针;而Ptr{Float64}
相当于double*
型指针。
因为参数化元类型在特性上与复合类型、抽象类型一致,所以此处不再赘述。
酷客网相关文章:
评论前必须登录!
注册