Вот QList<> в стандартной библиотеке есть, а QTree<> или QNode<> нету. Спрашивается, почему? и что вместо них?
Потому что полагается что программист умеет создавать свои структуры данных (а не только пользовать чужие)
Во! Самое классное объяснение! Тогда, пусть "гуру общения" объяснит мне почему существует QList<>? Или по твоему мнению работать со коллекцией намного сложнее чем с деревьями и каждый программист обязан уметь делать свое дерево, но не обязан уметь делать коллекции?
Я понимаю что многие-многие стандартные структуры используют деревья в качестве хранилища внутренних данных, и понимаю что можно сделать дерево на основе любого из коллекционных шаблонов (уже упоминались QList, QMap, QSet).
Но я не понимаю, почему не включили деревья в стандартный набор шаблонов?
Запросто ж можно сделать шаблон типа "template Node<T, child_count>" А на его основе уже делать шаблоны всяческих деревьев. И универсальных многодетных, и бинарных как частный случай универсальных, и всяческие AVL-, RedBlack- как частный случай бинарных...
Посмотрите эту реализацию, когда ее хотели в boost включить
так ее потому и не включили что она не умеет делать специфические деревья с ограниченным количеством детей. А значит не универсальна. А если микро-библиотечка не универсальна - она не нужна в большой библиотеке.