Julia参数化元类型

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*型指针。

因为参数化元类型在特性上与复合类型抽象类型一致,所以此处不再赘述。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!