pointeur vs reference en retour de fonction

pointeur vs reference en retour de fonction - C++ - Programmation

Marsh Posté le 03-05-2009 à 22:08:06    

Hi,

 

static C& getInstance()
 {
  return *new C;
 }

 

Niveau performance ou autres, y a une différence entre cette écriture et un retour par pointeur ? C'est strictement équivalent ?

 

Merci.


Message édité par Glock 17Pro le 03-05-2009 à 22:08:24
Reply

Marsh Posté le 03-05-2009 à 22:08:06   

Reply

Marsh Posté le 03-05-2009 à 22:14:52    

tu te rends compte que tu ecris n'imp là ?

Reply

Marsh Posté le 03-05-2009 à 22:20:10    

explique

Reply

Marsh Posté le 03-05-2009 à 22:21:32    

bah ça leak quoi :/
 

Code :
  1. static C& getInstance()
  2. {
  3.    static C* instance = NULL;
  4.    if(!insatcne) insatnce = new instance;
  5.    return *instance;
  6. }


 
Deja ca parait mieux.
Ensuite, pointeur/référence, même combat et tu te tapes d'optimiser ça franchement.

Reply

Marsh Posté le 03-05-2009 à 22:24:53    

ah oui j'ai écrit ça à l'arrache of course, c'était juste le vs ptr/ref

Reply

Marsh Posté le 04-05-2009 à 13:15:07    

c'est même pas la peine de faire une allocation dynamique.

Reply

Marsh Posté le 04-05-2009 à 13:35:22    

exact

Reply

Marsh Posté le 04-05-2009 à 18:26:21    

Taz a écrit :

c'est même pas la peine de faire une allocation dynamique.


 
Si tu ne veux pas que le singleton soit détruit -- par exemple parce qu'il peut être utilisé dans des destructeurs d'objets statiques -- c'est indispensable.
 
Mais quand j'ai vu le message originel, j'ai pensé à une factory réduite au minimum plutôt qu'à un singleton (qui, je vous le rappelle, est qualifié d'anti-pattern par certains -- je ne vais pas jusque là mais je les trouve certainement surutilisés).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed