begin process at 2012 05 28 23:47:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Creer indefiniement ???


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

Creer indefiniement ???

mercredi 8 juin 2005 à 17:00:56 | Creer indefiniement ???

Tidam

Bonjour a tous,
Je me demandais si il n'y avais pas une methode permettant de creer indefiniement des class ou struct comportant par exemple le parametre 'nick' et que l'on puisse ensuite rechercher la class ou struct correspondant ?
La seule methode que j'utilise pour l'instant est un tableau, donc ayant une capacité limité ... j'avais pensé a utiliser realloc, mais j'ai eu plusieurs erreurs de compilation ...
Si quelqu'un avait une idee !
jeudi 9 juin 2005 à 08:24:51 | Re : Creer indefiniement ???

darfeuille

hmmm

Tu dois pouvoir faire :

#include <list>
using namespace std;

int main(void)
{
   list<ma_classe> ma_liste;
   ma_classe* mon_objet = NULL;
   while(true)
  {
           mon_objet = new ma_classe;
           ma_liste.push_back(*mon_objet);
  }

return 0;

Ca créera des objets mon_objet indéfiniment tant qu'il restera de la mémoire allouable




jeudi 9 juin 2005 à 08:30:10 | Re : Creer indefiniement ???

darfeuille

euh... petite correction quand même, je me suis trompé
  dans ce code je crée des objets ma_classe avec new, qui ne sont pas libérés, ma_liste utilisantle constructeur par recopie

Ce sera surement mieux de faire

list<ma_classe*> ma_liste;
ma_classe* mon_objet = NULL;
while(true)
{
    mon_objet = new ma_classe;
     ma_liste.push_back(mon_objet);
}


Mets une condition qui s'arrete quand même pour le while, et n'oublie pas de libérer l'espace memoire alloue pour chacun des objets a la fin.

Du style:
 for(list<ma_classe*>::iterator it = ma_liste.begin() ; it != ma_liste.end() ; it++)
 {
             delete *it;
             *it = NULL;
  }

   ma_liste.clear();
       















jeudi 9 juin 2005 à 11:55:17 | Re : Creer indefiniement ???

Tidam

Hmm je crois comprendre mais t'aurais pas un tuto bien frais qui explique toutes les possibilités de list plzz ? ou alors un code complet et bien fait ? en tout cas je crois que c'est exactement ce dont j'avais besoin ^^
merci !
jeudi 9 juin 2005 à 13:15:11 | Re : Creer indefiniement ???

darfeuille

Faut d'abord que tu me precise ce que tu veux faire exactement parce que sinon c'"est trop vague pour que je puisse te créer autre chose que ce que je t'ai mis

Au cas ou, je te remets un main complet, avec un struct


#include <iostream>
#include <list>
#include <string>
using namespace std;

struct log
{
string nick;
int id;
};


int main()
{
int i = 0:
list<log> log_list;
log* instant_log = NULL;
while(i < 1 000 000 000)
{
    instant_log = new log;
instant_log.nick = "Frodon";
instant_log.id = i;
     log_list.push_back(instant_log);
}
}
Quand a un totu de list, c'est la STL (entre autre, regarde list, vector, queue, set et map pour voir ce dont tu as besoin)
Un site d'explication simple sur les list et les vector:
http://www.msoe.edu/eecs/ce/courseinfo/stl/



jeudi 9 juin 2005 à 13:16:26 | Re : Creer indefiniement ???

darfeuille

hmmm, un petit return( 0 ); a la fin du main sera le bienvenu aussi, fais pas comme moi, ne l'oublie pas

jeudi 9 juin 2005 à 13:19:47 | Re : Creer indefiniement ???

darfeuille

Réponse acceptée !
euh.......

on prend les meme et on recommence, je corrige mon code :

#include <iostream>
#include <list>
#include <string>
using namespace std;

struct log
{
string nick;
int id;
};


int main()
{
long int i = 0:
list<log*> log_list;
log* instant_log = NULL;
while(i < 1 000 000 000)
{
    instant_log = new log;
instant_log.nick = "Frodon";
instant_log.id = i;
     log_list.push_back(instant_log);
}

  for(list<log*>::iterator it = log_list.begin() ; it != log_list.end() ; it++)
  {
             delete *it;
             *it = NULL;
  }
log_list.clear();
return(0);
}

La ca sera surement mieux


vendredi 10 juin 2005 à 09:29:05 | Re : Creer indefiniement ???

Tidam

Lol t'es sure de rien avoir oublié ?? Je peux donc accepter la reponse ??
En tout cas merci bcp, c'est ce que je cherchais !

vendredi 10 juin 2005 à 09:30:29 | Re : Creer indefiniement ???

Tidam

juste une correction :
while(i < 1 000 000 000)
{
    instant_log = new log;
instant_log.nick = "Frodon";
instant_log.id = i;
     log_list.push_back(instant_log);
}
... boucle infinie, i ne bougeant pas ...
while(i < 1 000 000 000)
{
    instant_log = new log;
instant_log.nick = "Frodon";
instant_log.id = i;
     log_list.push_back(instant_log);
i++;
}

vendredi 10 juin 2005 à 10:42:38 | Re : Creer indefiniement ???

darfeuille

ouaip c vrai

Désolé, mais j'ai ai écrit ca a vitesse grand v, parce qu'il fallait que je finisse un autre prog en urgence, donc c un peu barbare. mais bon, en le relisant, mis a part ca, ca doit etre tout bon :)

Bye


1 2

Cette discussion est classée dans : creer, methode, class, struct, indefiniement


Répondre à ce message

Sujets en rapport avec ce message

(class) Utilisation de methodes [ par fryser_d ] Bonjour Je voudrais savoir, si il est possible que une methode dans une (class) decendante, puisse utiliser une autre methode dans une une (class) "must point to class/struct/union" [ par ouedge ] Bonjour à tous, Je suis en train de travailler sur un programme en C++ et j'obtiens régulièrement ce message "...must point to class/struct/union" qua Taille variables dans une class/struct [ par LA_Tupac ] Salut à tous. Je me penche sur la taille des données car je fais des écritures binaires d'objets à taille variable dans des fichiers. En faisant des t Une struct utilisée dans plusieurs class [ par larcan57 ] Bonjour à tous :)Petite question sur les structures...J'ai donc mon fichier.h avec:struct TestStruct { ..... };Class test{   void fonction1( ....);}-- Init un tableau de struct [ par larcan57 ] Bonjour,Encore une question de struct...Soit ma structure:struct test {char* test_id; char* tab[]; };j'initialise une struct:test nouveauTest = test() fonctions de listes chainees en c [ par loftiteau ] bonjourje souhaite avoir d'aide pour faire des fonctions d'ajout et suppression et modification en utilisant la liste chainé suivante en language c :s Programme de la Methode de recherche tabou [ par papse ] Bonjour à tout le mondeJe suis à la recherche du programme de methode de recherce tabou que je dois exposéQuelqu'un pourait m'aider?Merci d'avance de ajout d'un element à la fin d'une liste chainée [ par beatkof ] bonsoir je voudrai faire une fonction qui ajout un element à la fion d'une liste chainée et je n'y arrive pas voila ma fonction: #include #include s creer un tableau graphique pour listing [ par assys ] salut a tous,voila je suis nouveau en prog et dison que je ne m'y connai pas très bien en graphique c++et je voudrait  creer un tableau graphuique de CREER ET UTILISER DLL SOUS DEV C++ [ par lectpe ] Bonjour à tous.Je voudrais créer et utiliser une dll en C et sous DEV C++ et je ne sais pas comment faire.J'ai beau chercher sur CS ou sur google, je


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,700 sec (3)

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