2011-03-09 25 views
0

我的deque包含对象,NOT指针。我是否需要在析构函数中清理deque中的对象?

如:

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); 

我知道它的指针,我要清理它desconstructor。

我的问题是:如果只是对象,这是真的,我没有清理MyObject来,如:

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

当你存储指针时,你是否必须删除指针? – GManNickG 2011-03-09 03:04:46

回答

3

不,你没有明确的std::deque如果你只是存储的值对象那里。析构函数将调用它包含的每个对象的析构函数。

相关问题