najla1986
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention13 avril 2006
-
1 mars 2006 à 13:30
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
2 mars 2006 à 13:42
J'ai une classe qui a comme variable un template. Je dois mémoriser cette classe dans un fichier. Le template demande-t-il une technique spéciale ou se sauvegarde comme un tableau ??
Merci de vos réponses
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 mars 2006 à 13:35
Tu n'as pas compris ce qu'est un template. Ca n'a rien de magique !
c'est juste un mécanisme pour éviter d'avoir à tapper soi meme
plusieurs fois la meme chose. T'as classe n'a jamais de variable
template, elle a forcément un type bien défini.
Si maintenant, tu ne connais pas le type au moment de l'enregistrement,
il faut également que tu enregistres le type pour savoir comment
l'ouvrir la prochaine fois que tu lanceras ton programme.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 1 mars 2006 à 15:01
luthor> T'as mal lu. Elle a bel et bien une variable template a l'interieure de sa classe. Sa question est de savoir comment enregistrer cette variable ainsi que les autres dans un fichier.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 1 mars 2006 à 16:09
Tu écris par exemple une méthode serialize et une deserialize pour la classe AdresseEMail. Après tu parcours ton vecteur et pour chaque adresse tu la lis ou tu l'écris selon ce que tu es en train de faire. Pour les autres données de ta classes il n'y a aucun problème
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 1 mars 2006 à 16:47
DeathCrash => "VecteurTrie destinataire;"
Ce n'est pas une variable template ca. De toute facon, un type template, ok, mais une variable template, ca correspond à quoi ?
Et sinon, je ferais comme
vecchio56, c'est la classe AdresseEmail, qui se charge d'enregistrer
ses données ou de les convertir en un truc enregistrable. Le type
AdresseEmail, doit pas etre loin d'un string non ? donc
l'enregistrement doit se faire assez facilement.
Ah, je crois que je viens de comprendre ce que tu demandais najla. Si c'est bien un vecteur (VecteurTrie), tu peux l'enregistrer comme un tableau puisque la mémoire est alloué contiguement (ou continuement ?)
Alpacha
Messages postés95Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention20 mars 2006 1 mars 2006 à 19:04
Hmmm ...
Tu sais que string, c'est pas vraiment un type ...
std::string c'est :
typedef basic_string<char> string;
Pourtant tu traites string comme si c'était un int, un char, enfin un type fondamental quoi.
Pourquoi ça serait différent pour le vector?
Par contre pour _enregistrer un tableau dans un fichier_ faut que tu te trouves ta méthode d'écriture et celle de lecture qui va avec et qui sera capable de recréér le même tableau. Mais rien de bien dur en vue :)
Alpacha
Messages postés95Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention20 mars 2006 1 mars 2006 à 23:05
Oui mais ce que je voulais dire c'est que string était en fait une instance d'une class template paramétrée en char.
Mais faudrait savoir comment l'auteur veut enregistrer ... membre par membre ou sérialiser ... ?
Alpacha
Messages postés95Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention20 mars 2006 1 mars 2006 à 23:12
J'ai une classe qui a comme variable un template. Je dois mémoriser
cette classe dans un fichier. Le template demande-t-il une technique
spéciale ou se sauvegarde comme un tableau ??
<<< je répondais à cela.
Sinon oui, on s'en fout :)
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 2 mars 2006 à 13:09
Une autre solution est d'erengistrer tes données dans une structure, que tu enregistreras ensuite dans un fichier sous forme binaire.
Tu pourras ainsi ecrire et lire tes données très facillement, connaissant la taille de ta structure.