一、类型构造使用:参量类型具体化指定(构造式引用);
使用已经构建完成的泛型结构
先指定泛型参量的类型,然后将泛型结构作为确定的类型使用:
struct Stack<Element> {}
var stackOfStrings:Stack<String> = Stack<String>()
func checkStack( stack:inout Stack<String>){}
let set:Set = Set<Stack<String>>()
二、泛型参量递归定义:泛型参量递归定义模式(不确定类型参量依赖);
内部的泛型结构的泛型参量,依赖于外部的环境变量的泛型参量。
不解决泛型的具体化问题。
struct StackContainer<Elementx>{
var stack:Stack<Elementx>
}
func checkStackx<T>(stack:inout Stack<T>){}
新结构的定义没有出发泛型构造;只是将构造延迟;