2011-03-09 3 views
0

내 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 그것을 청소해야 알고있다.

내 질문은 :

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

포인터를 저장할 때 포인터를 삭제해야합니까? – GManNickG

답변

3

아니, 당신의 std::deque 만 저장하면 값 객체를 취소 할 필요가 없습니다 : 그냥 반대하는 경우, 내가 좋아하는 MyObject를 청소하지 않아도 그게 사실인가요 그곳에. std::deque 소멸자는 포함 된 각 객체에 대해 소멸자를 호출합니다.

관련 문제