begin process at 2010 02 09 05:12:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

std erase ca marche pô


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

std erase ca marche pô

mardi 2 mai 2006 à 11:19:35 | std erase ca marche pô

Amanobuo

Membre Club
Bonjour, j essaye d utiliser erase (std) dans un vecteur d'entier, mais les valeurs sont 
toujours la, ou est mon erreur de manipulation ?
merci !!


#include <vector>

using namespace std;

int main()
{
int i;
vector<int> vect1d;

vect1d.resize(10); //10 elements
fill( vect1d.begin(), vect1d.end(), 100 ); //remplir avec des 100

vect1d.erase(vect1d.begin(), vect1d.end()); //devrait supprimer

for (i=0;i<10;i++)
{
cout << vect1d[i] << "\n"; //affiche 100 quand meme !
}
getchar();

return 0;
}
mardi 2 mai 2006 à 12:08:31 | Re : std erase ca marche pô

laurent1024

Réponse acceptée !
En effet, c'est un problème bizarre. surtout que si tu fais un cout << vect1d.size(); apres le erase il afficher 0.
A la limite, tu peut remplacer le i<10 par vect1d.size()

mardi 2 mai 2006 à 13:43:44 | Re : std erase ca marche pô

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Moi j'ai une erreur d'exécution quand j'affiche vect1d[i] (ce qui est normal), et la size() retourne bien 0 (compilé avec VS 2005) Quel est ton compilo? Il faudrait peut être en changer...
mardi 2 mai 2006 à 15:31:58 | Re : std erase ca marche pô

Amanobuo

Membre Club
J' ai essaye et vect1d.size() renvoie bien 0.
Je crois donc que effacer des valeurs dans un vecteur fonctionne comme un formatage logique dans une partition fat : les données sont toujours presente mais en ecriture pour d'autres programmes ?

mardi 2 mai 2006 à 20:21:14 | Re : std erase ca marche pô

luhtor

Il me semble que lorsque tu utilises erase, il détruit la case, mais ne vide pas la mémoire. Ton vector est bien remis a jour, mais pas la mémoire donc ta valeur reste en mémoire. Donc je vois pas d'anomalie, si ce n'est que tu as de la chance que la mémoire reste intact jusqu'à ce que tu affiches les valeurs.


mardi 2 mai 2006 à 20:41:23 | Re : std erase ca marche pô

vecchio56

Administrateur CodeS-SourceS
Petite précision: l'accès avec [] n'est pas contrôlé. Ainsi on peux très bien faire vect1d[i] et ca peut marcher. Si on veut un accès sécurisé, il y a la méthode at(i), qui vérifie l'index, et provoque une exception de type out_of_range si l'index n'est pas correct


Cette discussion est classée dans : marche, std, , vect1d, erase


Répondre à ce message

Sujets en rapport avec ce message

saveas qui marche pô pour excel (vc6-mfc) [ par redam2005 ] J'ai beau parcourir le forum, je ne trouve rien qui puisse m'aider..   Voilà mon SaveAs :book.SaveAs(COleVariant(AdressePrintTot),covFalse,      covFa std::string Buffer = ""; [ par yanlou ] salutj'ai un fichier .csv qui contient 27000 ligne et je veux suprrimer les ligne 4,5,6ça fonction avec le code que j'ai mais ça prend presque 2min po Probleme STL map iterator [ par RV2931 ] Bonjour,j'ai un petit problème avec l'utilisation des map et iterateur, voici grosso modo mon problème :std::map Map;std::map::iterator it;for(it = Ma error C2678: '!=' binaire : aucun opérateur trouvé qui accepte un opérande de partie gauche de type 'std::string' (ou il n'existe pas de conversion acceptable) [ par wallie0703 ] Voilà j'ai cette erreur :error C2678: '!=' binaire : aucun opérateur trouvé qui accepte un opérande de partie gauche de type 'std::string' (ou il n'ex Erreur de type LNK 2005 [ par BenGourion73 ] Bonjour, J'ai une solution en développement qui se compose d'une librairie statique et d'un exécutable. La librairie statique compile bien toute seule CopyFileTo, comment que ca marche? [ par faucheuse ] Bien le bonsoir amis programmeurs et programmeuzes,Apres quelques recherches j'ai trouver une fonction pour copier des fichier : CopyFileTo.Mais j'ai Debutant cherche comment fait opperation sur "float" [ par chris37000 ] Bonjour a vous tousOn a un TP a faire au lycée pour simuler une guirlande de noël.Un petit truc tout simple qui commande une boite avec 8 leds et il y Liste comportant une classe template [ par horcks ] Bonjour, J'aurais voulu savoir s'il est possible de créer une liste contenant une classe template. Je m'explique : Voici le code (écourté) du template Set transform C++ [ par ffenforce10 ] Bonjour, Voilà, j'ai un petit problème avec la fonction transform pour appliquer un foncteur... Mon code complilait lorsque j'utilisait un vecteur, m symbole externe non résolu [ par informatixa ] Voila mon erreur et, je ces pas d'ou sa peut venir.Login.obj : error LNK2001: symbole externe non résolu "public: __thiscall ConfigFile::ConfigFile(cl


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales