comment supprimer un élément d'un std::vector

comment supprimer un élément d'un std::vector - C++ - Programmation

Marsh Posté le 04-01-2008 à 17:55:27    

svp, y a t'il quelqu'un qui peut me dire comment supprimer un élément d'un std::vector
 
mon vecteur est définit comme suit :
std::vector<int> vct;
 
Merci :)
 
Sara

Reply

Marsh Posté le 04-01-2008 à 17:55:27   

Reply

Marsh Posté le 04-01-2008 à 18:09:03    

RFTM : http://www.sgi.com/tech/stl/Vector.html
 
sinon  
 

Code :
  1. vect.erase(pos);


 
ou pos ets un iterateur sur l'element à éliminer

Reply

Marsh Posté le 04-01-2008 à 18:13:17    

Il y a ce site aussi qui est pas mal : http://www.cplusplus.com/reference [...] erase.html

Reply

Marsh Posté le 04-01-2008 à 18:14:14    

erase est définit avec le std::vector ???????????

Reply

Marsh Posté le 04-01-2008 à 18:15:16    

dcsara a écrit :

erase est définit avec le std::vector ???????????


 
oui !!!!!!11111ONEONELEVEN

Reply

Marsh Posté le 04-01-2008 à 18:19:28    

dcsara a écrit :

erase est définit avec le std::vector ???????????


 
Non, d'ailleurs il n'est pas dans la liste des méthodes dans le lien de Joel F, et ce n'est pas écrit "vector::erase" en gros caractères dans celui que j'ai fourni. [:daria]

Reply

Marsh Posté le 04-01-2008 à 18:25:31    

merci bcp .. j'ai lu le lien en diagonale .... lol
parcontre erase ... libère automatiquement l'espace mémoire qui a été alloué ??

Reply

Marsh Posté le 04-01-2008 à 18:26:22    

C'est simple : lorsque tu ajoutes un élément au vector, est-ce que tu t'occupes de l'allocation mémoire qui va avec ?

Reply

Marsh Posté le 04-01-2008 à 18:27:01    

ca depend de l'implantation. La seule garantie c'est d'appeler le destructeur de l'objet détruit. En général, les bonnes implantations ne libérent pas la mémoire tant que le vector lui même n'est pas détruit.

Reply

Marsh Posté le 04-01-2008 à 18:40:13    

stp, peux m'expliquer encore plus .. j'ai pâs bien saisie ce que tu veux dire ... car dans mon cas je voudrais bien libérer de l'espace mémoire car mon vecteur est un vecteur de structure coté serveur et plusieur client devront se connecter à se serveur. Donc le serveur, va ajouter toutes informations des clients dans ce vecteur. et D'ou ma nécessité de liberer l'espace émoire de l'élément supprimer.
Peux tu stp me dire comment faire ?
merci :)

Reply

Marsh Posté le 04-01-2008 à 18:40:13   

Reply

Marsh Posté le 04-01-2008 à 18:42:09    

bon j'ai rien dit, c'est erase d'un vector pas d'une liste. Donc faire un erase fait bien ce que tu pense, ie, il détruit l'objet puis recolle les bout de vector de part et d'autres. Donc certainement 1 new + 2 copies + 1 delete sur le reste

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed