и надо пердолиться в указатели руками?
adt есть. И паттерн матчинг неплохой. По сравнению с плюсами - точно.
типа такого ?enum Tree<T> { Empty, Node(T, Box<Tree<T>>, Box<Tree<T>>) } fn main() { let tree = Tree::Node( 42, Box::new(Tree::Node( 0, Box::new(Tree::Empty), Box::new(Tree::Empty) )), Box::new(Tree::Empty)); println!("{:?}", tree); // prints Node(42, Node(0, Empty, Empty), Empty) }
Если я правильно понял, то это отличная идея . Я смогу использовать место указателей ссылки без проблемного первого элемента. Спасибо за подсказку)
Вроде. Как std::variant в плюсах. Я не шибко растаман, так мимо крокодил.
Обсуждают сегодня