cs_0xYg3n3
Messages postés115Date d'inscriptionmardi 1 février 2005StatutMembreDernière intervention 8 octobre 2007
-
15 avril 2005 à 10:29
cs_0xYg3n3
Messages postés115Date d'inscriptionmardi 1 février 2005StatutMembreDernière intervention 8 octobre 2007
-
16 avril 2005 à 09:53
bonjour
comment pourrais-je effacer le contenu d'une ou plusieurs case d'un vecteur dans une boucle.
exemple:
vector <string> vec;
vector <string>::iterator vec_iter;
le soucis: lorsque j'efface le contenu d'une case , vec_iter=chainevide.
Comment faire pour ne pa perdre le contenu de vec_iter? (prochaine case du vecteur)
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 15 avril 2005 à 11:37
erase te retourne un itérateur, il faut que tu l'utilises, et ne pas
incrémenter quand tu fais erase. Par conséquent, la boucle for n'est
pas appropriée:
vector <string> vec;
vector <string>::iterator vec_iter;
vec_iter=vec.begin()
while(vec_iter != vec.end())
{
if ((*vec_iter == "champs") || (*vec_iter=="autrechamps"))
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 15 avril 2005 à 22:51
Un pointeur sur le type du vecteur? Je vois pas ce que tu veux dire par
la. Si tu veux un pointeur sur un élément du vecteur, tu n'a qu'a faire
string* ptr = &vec[0]
(string* ptr = vec[0] ne marchera pas car vec[0] est de sype string et non string*)
Vous n’avez pas trouvé la réponse que vous recherchez ?