0

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

如:

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];
}
4

1 回答 1

3

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

于 2011-03-09T01:28:12.420 回答