cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015
-
25 août 2010 à 16:16
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 2013
-
25 août 2010 à 17:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 20133 25 août 2010 à 17:33
Si j'ai bien compris le Packer ce n'est rien d'autre qu'une sorte de tableau de std::string, les string sont mises les unes derrières les autres, séparées par le \0 (null-terminated string), le tableau est lui même terminé par le caractère 237.
Aucune idée de l'intérêt d'autant qu'une fois "packé" on a plus accès à rien. Il manque donc la possibilité de créer le Packer sur une zone mémoire existante (lecture d'un tableau "packé"), permettre d'accéder aux éléments, compter les éléments "packés", supprimer un élément, ...
Pour moi cette classe créer juste un tableau inexploitable.
En prime, il y a gros risque de fuite mémoire car après ajout d'un std::string le caractère 237 n'est plus présent tant qu'un appel à end() n'a pas été fait et donc pendant ce temps le tableau n'est plus terminé. Sans compter qu'aucune vérification n'est faite sur la taille maximale du tableau final lors des ajouts de std::string et du caractère de terminaison du tableau.
Des commentaire pour indiquer l'utilité ca aurait été pas mal.
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 25 août 2010 à 16:16
Aucun commentaire pour expliquer le code, aucun commentaire pour expliquer à quoi il sert, aucun commentaire dans le code...
J'en conclus que ce code inutile.
25 août 2010 à 17:33
Aucune idée de l'intérêt d'autant qu'une fois "packé" on a plus accès à rien. Il manque donc la possibilité de créer le Packer sur une zone mémoire existante (lecture d'un tableau "packé"), permettre d'accéder aux éléments, compter les éléments "packés", supprimer un élément, ...
Pour moi cette classe créer juste un tableau inexploitable.
En prime, il y a gros risque de fuite mémoire car après ajout d'un std::string le caractère 237 n'est plus présent tant qu'un appel à end() n'a pas été fait et donc pendant ce temps le tableau n'est plus terminé. Sans compter qu'aucune vérification n'est faite sur la taille maximale du tableau final lors des ajouts de std::string et du caractère de terminaison du tableau.
Des commentaire pour indiquer l'utilité ca aurait été pas mal.
25 août 2010 à 16:16
J'en conclus que ce code inutile.