Pour commencer, je tiens à dire que je suis au courant il y a de nombreux articles et questions de l'intérieur, de SORTE que se référer à l' indirect
mot-clé dans Swift.
Les plus populaires explication pour l'utilisation de l' indirect
est de permettre récursive les structures et les énumérations.
Plutôt que de simplement savoir à propos de ce qu' indirect
nous permet de le faire, je voudrais savoir comment il nous permet d'utiliser récursive les structures et les énumérations.
Questions:
Est-ce parce que les structures et les énumérations sont des types valeur et les types de valeurs n'évoluent pas bien si elles sont construites dans une structure récursive? Pourquoi?
N' indirect
modifier la valeur type de comportement à se comporter plus comme un type de référence?
Les deux exemples suivants compiler l'amende juste. Quelle est la différence?
indirect enum BinaryTree<T> {
case node(BinaryTree<T>, T, BinaryTree<T>)
case empty
}
enum BinaryTree<T> {
indirect case node(BinaryTree<T>, T, BinaryTree<T>)
case empty
}