Comment obtenir la position d'un élément dans un vecteur, où les éléments sont des classes. Y-a-t'il une façon de le faire?Get Element Position dans std :: vector
code Exemple:
class Object
{
public:
void Destroy()
{
// run some code to get remove self from vector
}
}
En main.cpp:
std::vector<Object> objects;
objects.push_back(<some instances of Object>);
// Some more code pushing back some more stuff
int n = 20;
objects.at(n).Destroy(); // Assuming I pushed back 20 items or more
Je suppose que je veux être en mesure d'écrire une méthode ou quelque chose qui est un membre de la classe qui sera de retour l'emplacement de lui-même à l'intérieur du vecteur ... Est-ce possible?
EDIT:
En raison de la confusion, je dois expliquer mieux. Le problème est, comment puis-je trouver le numéro pour faire l'effacement ...? Apparemment, ce n'est pas possible ... Je pensais que ce ne serait peut-être pas ...
Écrivez un opérateur de comparaison approprié pour votre classe qui reflète la sémantique dont vous avez besoin, puis utilisez 'std :: find'. – us2012
Pourquoi l'objet se soucie-t-il s'il fait partie d'un vecteur, d'une liste ou d'une deque? –
J'ai peur de ne pas comprendre ce que vous venez de dire. J'ai besoin d'écrire un 'operator == (...)' et d'utiliser std :: find qui est un code qui fait quoi? – user3728501