gpt4 book ai didi

C++:为指针成员赋值

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:05 25 4
gpt4 key购买 nike

我有以下代码:

template<class T>
class RandomTreeNode {
private:
RandomTreeNode<T> *left;
RandomTreeNode<T> *right;
public:
RandomTreeNode(): left(0), right(0) {}

void create_left_child(){ left = &RandomTreeNode<T>();}
void create_right_child(){ right = &RandomTreeNode<T>();}

但这给了我一个编译错误,因为我指向一个临时变量的地址。我不希望创建的新 RandomTreeNode 在函数结束时被销毁,我该如何实现?

最佳答案

使用:

void create_left_child()
{
left = new RandomTreeNode<T>();
}

void create_right_child()
{
right = new RandomTreeNode<T>();
}

请记住,当您不再需要它们时(可能是当整个树被破坏时,或者当特定节点被删除时),您必须删除它们。

关于C++:为指针成员赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13016573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com