gpt4 book ai didi

c++ - 我需要在析构函数中清理双端队列中的对象吗?

转载 作者:行者123 更新时间:2023-11-28 01:07:45 25 4
gpt4 key购买 nike

我的双端队列包含对象,而不是指针。

比如:

class MyObject                // no pointer inside the object, all simple type/prmitive
{
string name;
string value;
}

MyObject object1, object2;
m_deq.push_back(object1);
m_deq.push_back(object2);

我知道它是否是指针,我必须在解构函数中清理它。

我的问题是:如果只是反对,我真的不需要像这样清理 MyObject 吗:

for ( unsigned int i = 0 ; i < m_deq.size(); i++ )
{
delete &m_deq[i];
}

最佳答案

不,如果您只在其中存储值对象,则不必清除 std::dequestd::deque 析构函数将为它包含的每个对象调用析构函数。

关于c++ - 我需要在析构函数中清理双端队列中的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5240393/

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