Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1028 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [BOOST] utilisation de shared_array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BOOST] utilisation de shared_array

n°1401359
Amonchakai
Posté le 05-07-2006 à 18:26:53  profilanswer
 

Bonjour,  
   j'ai actuellement un problème avec les pointeurs intelligent de Boost car je n'arrive pas a allouer de la mémoire dynamiquement :
car voilà pour créer ce type de pointeur je sais faire ça :

Code :
  1. #include<boost/shared_ptr.hpp>
  2. int main(int argc, char **argv)
  3. {
  4.    boost::shared_array<int> array(new int[10]);
  5.    //traitement...
  6.    return 0;
  7. }


 
mais voilà moi je voudrais faire un truc du genre car au moment où je déclare array je ne suis pas sencé connaitre le nombre d'entier sur lequel je veux pointer  

Code :
  1. #include<boost/shared_ptr.hpp>
  2. int main(int argc, char **argv)
  3. {
  4.    boost::shared_array<int> array;
  5.    array = new int[10];
  6.  
  7.    //traitement...
  8.    return 0;
  9. }


 
mais bon la ça marche pas. Je comprends bien que les shared_array sont des classes donc on peut pas les utiliser comme ça. Mais j'arrive pas a trouver dans la doc de boost le moyen de faire ce que je veux. Je me doute bien qu'il doit exister un moyen...
 
Donc voilà si quelqu'un pourrait m'aider ce serait super sympa... Merci :)

mood
Publicité
Posté le 05-07-2006 à 18:26:53  profilanswer
 

n°1401367
skelter
Posté le 05-07-2006 à 18:34:25  profilanswer
 

?  
ou est le probleme ? en c++ tu peux déclarée tes variables ou tu veux, et pas seulement en début de bloc
 

Code :
  1. #include<boost/shared_ptr.hpp>
  2. int main(int argc, char **argv)
  3. {
  4.    //traitement...
  5.    boost::shared_array<int> array(new int[n]);
  6.    //traitement...
  7.    return 0;
  8. }


 
il y a aussi la methode reset (voir doc)

n°1401376
Amonchakai
Posté le 05-07-2006 à 18:45:32  profilanswer
 

Oui, bon la bien sûr... :)  
mais bon l'histoire c'est que je suis en train de faire un loader de fichier .MS3D (Milkshape 3D) et donc j'ai créé une classe Object qui contient tout les vertices, les groupements de vertices pour former les triangles, les groupements de triangles pour former les Mesh,...
Alors dans ma class j'ai déclaré tous mes shared_array et au fur et a mesure que je lis mon fichier MS3D je prend connaissance du nombre de Vertices et tout...
et donc la je veut allouer de la mémoire dynamiquement pour pouvoir les stocker...  
donc c'est pour celà que je vous demmandait comment je pouvais faire  

n°1401378
skelter
Posté le 05-07-2006 à 18:47:42  profilanswer
 

utilises plutot std::vector

n°1401395
Amonchakai
Posté le 05-07-2006 à 19:09:51  profilanswer
 

ha bha oui, j'suis con...  
Merci :)
 
ps : mais sinon alors c'était pas possible ?

n°1401403
skelter
Posté le 05-07-2006 à 19:24:21  profilanswer
 

Amonchakai a écrit :

ha bha oui, j'suis con...  
Merci :)
 
ps : mais sinon alors c'était pas possible ?


 
si, mais utilise std::vector et ajoute les elements avec push_back, la taille tu l'as a la fin du traitement avec la methode size()
 
edit: c'est bien de chercher à utiliser boost mais ne fait pas une fixation dessus, dans ce cas la un vector convient mieux et dans boost il y beaucoup de bibliotheques tres pratiques autres que les smart pointer


Message édité par skelter le 05-07-2006 à 19:26:43
n°1401444
Amonchakai
Posté le 05-07-2006 à 20:15:15  profilanswer
 

Ok, Merci de ta réponce !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [BOOST] utilisation de shared_array

 

Sujets relatifs
Contrôler l'utilisation d'un logicielWarning suite a utilisation d'une référence dans une méthode [RESOLU]
result requete dans array[Php] Classer un array par ordre alphabétique (accents inside)
apprentissage de BOOSTutilisation de execCommand avec bold
Utilisation de SQL SERVER[PHP] parse_ini_file + array retourné
STL utilisation de merge() pour des listes [resolu]Question utilisation phpdocumentor
Plus de sujets relatifs à : [BOOST] utilisation de shared_array


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR