链接列表通常实现为
template <typename T>
struct ListNode {
T data;
shared_ptr<ListNode<T>> next; //-->why not unique pointer here ?
};
而对于Binary Tree,
template <typename T>
struct BinaryTreeNode {
T data;
unique_ptr<BinaryTreeNode<T>> left, right; //-->why not shared pointer here ?
};
为什么我们不能将unique_ptr用于List和shared_ptr用于二叉树?