IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[singleton] construction de l instance


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [singleton] construction de l instance
    salut

    je me demandais pourquoi dans l implementation du pattern singleton en c++, lorsque l 'on crée l instance unique, on crée l 'objet sans appel au constructeur ( il y a pas de parentese apres le new)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    static UniqueObject *getInstance ()
      {
        if (NULL == _singleton)
          {
            std::cout << "creating singleton." << std::endl;
            _singleton =  new UniqueObject;
          }
        else
          {
            std::cout << "singleton already created!" << std::endl;
          }
     
        return _singleton;
      }
    Mais le code du constructeur est cependant appelé ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    new appelle le constructeur, quoiqu'il arrive.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    ok, mais pourquoi ne pas mettre les parenthèses alors ?

    dans toutes les implementations que j ai vu elle n y etais pas.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Elles sont facultatives pour le constructeur par défaut.

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Laurent Gomila
    Elles sont facultatives pour le constructeur par défaut.
    ok, je savais pas ca ! Mais pas du tout alors !

    je merite la

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Parce qu'on n'en met pas lorsqu'on appelle le constructeur par défaut - exemple, tu ne fait pas non plus :
    pour déclarer un nouvel int, c'est le cas pour tous les constructeurs sans paramètre.

  7. #7
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Surtout que là c'est une déclaration de fonction...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tracer les constructions/destructions d'instance
    Par Aleph69 dans le forum Langage
    Réponses: 7
    Dernier message: 27/07/2010, 14h29
  2. Réponses: 2
    Dernier message: 17/03/2008, 10h58
  3. Réponses: 6
    Dernier message: 18/05/2007, 11h55
  4. [DLL][Singleton] Doublon d'instance :(
    Par swirtel dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/03/2007, 14h29
  5. Plusieurs instances d'un singleton pour plusieurs modules
    Par zoubidaman dans le forum C++Builder
    Réponses: 10
    Dernier message: 18/11/2005, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo