C++: Supprimer un struct?

J'ai une structure qui contient des pointeurs:

struct foo
{
    char* f;
    int* d;
    wchar* m;
}

J'ai un vecteur de partage des pointeurs vers ces structures:

vector<shared_ptr<foo>> vec;

vec est alloué sur la pile. Quand il passe hors de portée à la fin de la méthode, son destructeur sera appelé. (À droite?) Qui à son tour appeler le destructeur de chaque élément du vecteur. (À droite?) N'appelant delete foo de supprimer les pointeurs comme foo.f, ou est-elle vraiment libre de la mémoire dans le tas?

InformationsquelleAutor Nick Heiner | 2010-06-08