Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1461 connectés 

  FORUM HardWare.fr
  Programmation
  C++

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1665978
dcsara
Posté le 04-01-2008 à 17:55:27  profilanswer
 

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

mood
Publicité
Posté le 04-01-2008 à 17:55:27  profilanswer
 

n°1665993
Joel F
Real men use unique_ptr
Posté le 04-01-2008 à 18:09:03  profilanswer
 

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

Code :
  1. vect.erase(pos);


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

n°1665997
Elmoricq
Modérateur
Posté le 04-01-2008 à 18:13:17  profilanswer
 

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

n°1665999
dcsara
Posté le 04-01-2008 à 18:14:14  profilanswer
 

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

n°1666003
Joel F
Real men use unique_ptr
Posté le 04-01-2008 à 18:15:16  profilanswer
 

dcsara a écrit :

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


 
oui !!!!!!11111ONEONELEVEN

n°1666014
Elmoricq
Modérateur
Posté le 04-01-2008 à 18:19:28  profilanswer
 

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]

n°1666018
dcsara
Posté le 04-01-2008 à 18:25:31  profilanswer
 

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

n°1666020
Elmoricq
Modérateur
Posté le 04-01-2008 à 18:26:22  profilanswer
 

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 ?

n°1666023
Joel F
Real men use unique_ptr
Posté le 04-01-2008 à 18:27:01  profilanswer
 

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.

n°1666032
dcsara
Posté le 04-01-2008 à 18:40:13  profilanswer
 

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 :)

mood
Publicité
Posté le 04-01-2008 à 18:40:13  profilanswer
 

n°1666035
Joel F
Real men use unique_ptr
Posté le 04-01-2008 à 18:42:09  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

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

 

Sujets relatifs
Prototype : "element has no properties"liste simplement chainée , supprimer un element
Supprimer un vector proprementsupprimer un element avec removechild() selon la valeur dans un select
Supprimer un .htaccess[JS] supprimer des valeurs dans un select multiple
Pointeur en argument -> obtention de la taille de l'élément pointé? 
Plus de sujets relatifs à : comment supprimer un élément d'un std::vector


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)