c++ - 如何在 C++ 中以正确的方式定义树的插入函数?

标签 c++ c pointers reference

在 C 中,如果我有一个树或链表,我必须声明一个用于插入的函数,例如

insert(Node ** node) 

所以我可以插入一个新的根/头。
我的问题是,如何用 C++ 中的引用来编写它?

最佳答案

你会把这个函数写成

ReturnType insert(Node* &node)

也就是说,参数是对保存树根的Node* 变量的引用。从那里开始,您将照常进行,除了与函数的 C 版本相比,您不需要取消引用 node 来重新分配根例如,如果您要在代码的初始 (C) 版本:

*node = /* ... something ... */

你只要写

node = /* ... something ... */

在更新版本的代码中。

希望这对您有所帮助!

关于c++ - 如何在 C++ 中以正确的方式定义树的插入函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9507182/

相关文章:

c - 将数字作为字符串相乘(损坏的大小与 prev_size)

c - C中的数据类型,数据丢失

c++ - 需要一些源代码测试/评估工具的想法

c++ - 为什么C++类函数没有low_pc/high_pc DWARF信息

c++ - 我可以在迭代时删除 std::string 对象中的元素吗

c++ - 使用 '='运算符在C++中使两个数组相等

c++ - C++中指向对象的指针

c - C 中的数组数组

c++ - 将数据流式传输到 C++ 异常类中是否存在任何危险?

c++ - 在 VS 上使用 Qt 库