I have a class A with a member which is a vector of object pointers of another class B
class A
{
std::vector<B*> m_member_A
m_member_A
is populated by creating objects of B by using new
operator
B* b1 = new B;
m_member_A.push_back(b1);
In A's destructor, is the following correct to free up everything?
A::~A()
{
for(int i = 0; i < m_member_A.size(); ++i)
{
delete m_member_A[i];
}
m_member_A.clear();
}