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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] new : tableau de pointeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] new : tableau de pointeurs

n°1419345
bimon
Posté le 03-08-2006 à 23:54:28  profilanswer
 

Bonjour à tous.
Voilà mon problème, j'ai créé une classe (Points) et je souhaite creer un tableau (tmp) de pointeur d'objets "Points". J'ai reussi avec la ligne :

Code :
  1. Points *tmp[len];

.  
Mais j'aimerai faire la même chose avec l'opérateur new :pfff:  :pfff: . Et c'est là que je bloque malgrès de nombreux essais.  :??:  :??:  
merci.  


---------------
la somme de mes connaissances est limitée, mais la somme de toutes nos connaissances est infinie....
mood
Publicité
Posté le 03-08-2006 à 23:54:28  profilanswer
 

n°1419347
IrmatDen
Posté le 03-08-2006 à 23:56:23  profilanswer
 

Salut,
C'est quoi l'essai qui te paraît le plus sensé?
 
Edit: tu as une raison pour ne pas utiliser les vecteurs?

Message cité 1 fois
Message édité par IrmatDen le 03-08-2006 à 23:57:00
n°1419350
oseam
Yume wa kitto kanau
Posté le 04-08-2006 à 00:10:54  profilanswer
 

Bah tu fais un new sur tous les elements du tableau.

n°1419354
skelter
Posté le 04-08-2006 à 00:33:34  profilanswer
 

std::vector<Points>
 
pourquoi Points au pluriel ?
pourquoi un tableau de pointeur sur Points et pas un tableau de Points tout simplement ?

n°1419358
bimon
Posté le 04-08-2006 à 00:38:12  profilanswer
 

IrmatDen a écrit :

Salut,
C'est quoi l'essai qui te paraît le plus sensé?


Je dirais  

Code :
  1. Points **tmp; // pour l'en-tête
  2. tmp = new *Points[1]  //pour la déclaration
  3. tmp[0] = new Points(0, 0); // pour l'utilisation


 

IrmatDen a écrit :


Edit: tu as une raison pour ne pas utiliser les vecteurs?


Je ne connaissais pas les vecteurs, je me penche là dessus.
 

oseam a écrit :

Bah tu fais un new sur tous les elements du tableau.


Tu peux déveloper STP, je ne comprend pas très bien ta méthode...
 
merci pour votre aide. :jap:  :jap:


---------------
la somme de mes connaissances est limitée, mais la somme de toutes nos connaissances est infinie....
n°1419360
bimon
Posté le 04-08-2006 à 00:44:47  profilanswer
 

skelter a écrit :

std::vector<Points>
 
pourquoi Points au pluriel ?


Parce que c'est une classe qui contient déjà plusieurs points, une sorte de containeur.
 

skelter a écrit :


pourquoi un tableau de pointeur sur Points et pas un tableau de Points tout simplement ?


parce que j'ai de toute façon besion du pointeur (ou de la référence) pour communiquer avec le reste du prog et que cela me permet facilement d'utiliser

Code :
  1. tmp[0] = new Points(0, 0);

. En fait, tu a raison... Je ne reussissais pas à utiliser

Code :
  1. tmp[0] = *(new Points(0, 0));

Mais de toute façon ce n'est pas la peine puisque la mémoire est déjà allouée.  
Je vais creuser de ce coté, je vous tient au courant.
Merci beaucoup.  :jap:  :jap:  
 
 
 
 


---------------
la somme de mes connaissances est limitée, mais la somme de toutes nos connaissances est infinie....
n°1419361
skelter
Posté le 04-08-2006 à 00:48:54  profilanswer
 

Citation :

parce que j'ai de toute façon besion du pointeur (ou de la référence) pour communiquer avec le reste du prog et que cela me permet facilement d'utiliser


 
ok mais je vois pas la rapport avec la facon dont un objet est alloué, std::vector<Points>, pas de pointeurs inutiles

n°1419362
bimon
Posté le 04-08-2006 à 01:08:50  profilanswer
 

skelter a écrit :


ok mais je vois pas la rapport avec la facon dont un objet est alloué, std::vector<Points>, pas de pointeurs inutiles


 
Tu as raison, les pointeurs étaient ici inutiles quoique pratiques : ils m'évitaient d'implémenter un opérateur de copie pour ma classe.
merci à vous tous, maintenant ça marche ! ! :)  :)  :)  


---------------
la somme de mes connaissances est limitée, mais la somme de toutes nos connaissances est infinie....
n°1419373
skelter
Posté le 04-08-2006 à 02:32:16  profilanswer
 

bimon a écrit :

Tu as raison, les pointeurs étaient ici inutiles quoique pratiques : ils m'évitaient d'implémenter un opérateur de copie pour ma classe.


 
??
 
eu... ca n'a rien a voir  :??:  tu es sur d'avoir compris quand et pourquoi il faut redefnir la copie (constructeur et operateur = ) pour une classe ?

n°1419536
turn3r
Un clavier azerty en vaut 2
Posté le 04-08-2006 à 11:37:52  profilanswer
 

Salut,
bah, moi je dirais qui faut pas se compliquer la vie (meme si je vois pas l'interet des pointeurs, mais bon):
 

Code :
  1. std::vector<Points*> v;
  2. v.push_back(new Points(1,2));


 
Ne pas oublier de faire tout les delete dans le destructeur de l'objet qui possède ce vecteur !!!


Message édité par turn3r le 04-08-2006 à 11:40:24

---------------
Les ventes de véhicules neufs ont chuté de 7%, y'en a marre des pirates qui téléchargent illégalement des voitures sur internet !!
mood
Publicité
Posté le 04-08-2006 à 11:37:52  profilanswer
 

n°1419698
skelter
Posté le 04-08-2006 à 14:13:23  profilanswer
 

ca c'est se compliquer la vie
 
encore une fois l'utilisation de pointeurs est inutile dans ce cas

n°1419705
_darkalt3_
Proctopathe
Posté le 04-08-2006 à 14:25:35  profilanswer
 

[:+1]

n°1419962
bimon
Posté le 04-08-2006 à 18:45:02  profilanswer
 

skelter a écrit :

??
 
eu... ca n'a rien a voir  :??:  tu es sur d'avoir compris quand et pourquoi il faut redefnir la copie (constructeur et operateur = ) pour une classe ?


 
En effet ça n'a rien à voir ici. Mais plus loins j'ai besoin de faire une copie de la liste. Pour copier des pointeurs, aucun pb. Mais pour copier les objets Points, il a fallut que je redéfinisse l'opérateur de copie. Enfin du moins c'est ce que j'ai compris, maintenant je ne suis pas programmeur et je fais peut-être (surement  :) ) une erreur.
 
Sinon c'est vrai, j'ai abandonné les poiteurs et maintenant ça marche super. :D  :D  
 
Merci à tous pour votre aide.  :jap:   :jap:  


---------------
la somme de mes connaissances est limitée, mais la somme de toutes nos connaissances est infinie....

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

  [C++] new : tableau de pointeurs

 

Sujets relatifs
comment faire des pseudo frame dans tableau ?[Résolu] chaine.Contains un élément d'un tableau de chaine ?
aide déclaration de tableau en javaEst-il possible de charger une page WEB dans une cellule de tableau ?
Positionner des éléments dans un cellule de tableauComparer 2 tableau
[FLASH/AMFPHP] Transférer un tableau vers un service PHPProbléme avec les pointeurs
tableau horizontal 
Plus de sujets relatifs à : [C++] new : tableau de pointeurs


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