Someone clear this up for me...
-----------------------------------------------------------------------------------

list<Order> lst_Orders;

typedef list<Order *>::iterator it;

Order *ptrOrder1 = new Order;
Order *ptrOrder2 = new Order;
Order *ptrOrder3 = new Order;

lst_Orders.push_back(ptrOrder1);
lst_Orders.push_back(ptrOrder2);
lst_Orders.push_back(ptrOrder3);

for ( it = lst_Orders.begin(); it != lst_Orders.end(); it++ )
{
delete *it; // not sure
lst_Orders.remove(it); // not sure
}


-----------------------------------------------------------------------------------
Is this correct ?