使用智能指针实现链接列表和二叉树的默认实现

时间:2018-01-25 03:10:22

标签: c++ shared-ptr smart-pointers unique-ptr

链接列表通常实现为

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用于二叉树?

0 个答案:

没有答案