gpt4 book ai didi

c++ - 我应该在类的构造函数中删除指向 int 的指针(在 C++ 中)吗?

转载 作者:行者123 更新时间:2023-11-28 02:20:17 25 4
gpt4 key购买 nike

<分区>

我真的很难理解指针,所以如果这个问题可能有任何歧义,请原谅我。是的,我问的不止一个问题,不过标题中的问题是迄今为止最重要的。其他问题只是我非常感谢你回答的问题。所以假设我有一个看起来像这样的类:

class myclass
{
public:
myclass();
~myclass();
private:
struct node
{
node * next;
}
node * head;
int myint;
}

现在,据我所知,人们会为类和结构调用构造函数,并为它们分别调用解构函数。有人告诉我在解构函数中不应该删除整数,但是删除指向整数的指针呢?不应该像这样在解构函数中删除它:

myclass::~myclass
{
delete head;
delete &myint;
}

如果不是,为什么?

如果您只想回答这个问题,请不要继续阅读。为了简洁起见,我的下一个问题是关于这段代码和上面的解构函数,我被告知是错误的(假设这是与上面的解构函数相同的文件的一部分):

myclass::node::~node
{
delete next;
}

更具体地说,我被告知我不应该删除节点,除非它们是用 new 标记声明的。不用说,我觉得这很令人困惑。如果可以的话,你能解释一下他们的意思以及为什么他们说的是真的吗?一个链接解释同样值得赞赏,只是了解我是编码新手,我几个月前才开始学习 C++。

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