Swift结构类型递归

前端之家收集整理的这篇文章主要介绍了Swift结构类型递归前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么结构体在 Swift中不具有递归值类型?
这是语言的临时限制还是按预期限制?

我觉得能够将二叉树节点声明为具有递归类型的结构,这是最自然的实现.

struct TreeNode<E>{
var leftNode:TreeNode<E>
var rightNode:TreeNode<E>
var element:E
}
答案在你的问题中:结构是值类型.如果将子结构B包含在结构A中,则意味着类型A的一个对象的大小sizeof(all_other_fields_of_A)sizeof(B).因此,值类型不能递归:它将具有无限大小.

猜你在找的Swift相关文章