Код: Выделить всё
class TreeItem
{
public:
explicit TreeItem(QVariantList data, TreeItem *parentItem = nullptr);
void appendChild(std::unique_ptr &&child);
TreeItem *child(int row);
int childCount() const;
int columnCount() const;
QVariant data(int column) const;
int row() const;
TreeItem *parentItem();
private:
std::vector m_childItems;
QVariantList m_itemData;
TreeItem *m_parentItem;
};
Код: Выделить всё
std::vector
Я не вижу смысла использовать здесь указатель, базовый или умный, поскольку это добавляет уровень косвенности, который не является необходимым и может быть дорогостоящим для моделей с большим количеством элементов.
Подробнее здесь: https://stackoverflow.com/questions/793 ... tr-instead