c++ - 二叉树的递归析构函数?

标签 c++ function recursion

您将如何递归地实现二叉树的析构函数?

一个节点有一个元素,一个指向左节点的指针,一个指向右节点的指针。 另外,什么时候将左右节点指针置为NULL?

最佳答案

析构函数会自动递归到成员中。您几乎不必手动编写析构函数。

template<class T>
struct Node
{
    T data;
    std::unique_ptr<Node<T>> left, right;
};

template<class T>
struct BinaryTree
{
    std::unique_ptr<Node<T>> root;
};

关于c++ - 二叉树的递归析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310649/

相关文章:

Javascript 函数仅适用于一个变量

.hpp 文件中静态函数的 C++ 链接器错误

Python - 高级参数嵌套循环

C:递归调用返回一个值

javascript - "too much recursion"具有重复的变化

c++ - 为什么不使用std::move将std::unique_ptr复制到另一个?

c++ - Direct3D 多顶点缓冲区,非交错元素

c++ - std::map 和性能,相交集

c++ - 初始化对 istream 的引用

python - 有没有办法在不传递参数的情况下调用函数?