Ce n'est pas exactement mon code mais il ressemble beaucoupComment faire pour sortir un pointeur
J'ai 2 tables de type CTable. Ils fonctionnent de la même manière que les tableaux normaux mais peuvent être alloués dynamiquement et redimensionnés. Alors que font semblant lets qu'ils sont des tableaux en ce moment
Une table a des références d'objets
MyObj obj1;
MyObj obj2;
MyObj table1[10];
table1[0] = obj1;
table1[1] = obj2;
maintenant parce que je veux les commander différemment parfois, je l'ai mis des pointeurs à ces objets dans une autre table
MyObj *table2[10];
table2[0] = &table1[0];
table2[1] = &table1[1];
est-il un moyen d'obtenir une référence à obj1 et obj2 par table2 afin que ceux objet se sortir du champ à la fin d'une sorte de fonction de suppression
quelque chose comme
void free() {
MyObj &obj = *table2[0];
}
puis bang, à la fin de libre, obj est supprimer automatiquement. En outre, une certaine façon de supprimer ces objets via table2 serait acceptable.
Que devrait-il se passer exactement là-bas? L'objet doit-il être retiré des tables ou quoi? – sth
Avez-vous besoin de l'implémentation de scopeguard (http://www.drdobbs.com/cpp/184403758)? Comment invoqueriez-vous la fonction de suppression? – Andy