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 :

Initialisation variable membre static const double


Sujet :

C++

  1. #21
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    Quand tu dis toute la classe, tu veux dire .h+.cpp, si on a
    Foo.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Foo
    {
    private:
      static const double m_m;
    };
    Et
    Foo.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // faut mettre static ou pas
    // quelle est la difference si on le met ou pas sachant que m_m est déclarée dan Foo.h?
    static const double Foo::m_m = 3.14;

  2. #22
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Citation Envoyé par LinuxUser Voir le message
    J'avais pensé installer et tester avec Cygwin, parcontre je savais pas que visual studio ne suivait pas entierement C++11, merci pour l'info.
    tu ne savais pas qu'utiliser les mots VS et normes dans une même phrase ça n'est pas logique ?

    Plus sérieusement, tu as quelle version ? Microsoft respecte de plus en plus la(es) norme(s) dans ses nouvelles versions.

  3. #23
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    VS 2010 il me semble, c'est la première fois quej'utilise VS.

    HS: serais-tu fan du rappeur Mala ?

  4. #24
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Donc dans le .cpp, il ne faut pas mettre 'static'.

    Ce qui suit sont des suppositions, je n'ai jamais vraiment essayé de faire ça :

    La différence, c'est que la variable va être visible uniquement dans les méthodes contenues foo.cpp au lieu d'être visible dans toute la classe.

    On ne pourra donc pas mettre l'attribut constant et statique en public si on le met en static lors de la définition.

    On ne pourra pas non-plus l'utiliser dans des méthodes templates, inlines ou définies dans l'header.

  5. #25
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Donc dans le .cpp, il ne faut pas mettre 'static'.

    Ce qui suit sont des suppositions, je n'ai jamais vraiment essayé de faire ça :

    La différence, c'est que la variable va être visible uniquement dans les méthodes contenues foo.cpp au lieu d'être visible dans toute la classe.
    OK, j'ai compris à présent la subtilité.
    Citation Envoyé par Neckara Voir le message
    On ne pourra donc pas mettre l'attribut constant et statique en public si on le met en static lors de la définition.
    OK, en l'occurence ici le memebre est private, mais je vois ce que tu beux dire.
    Citation Envoyé par Neckara Voir le message
    On ne pourra pas non-plus l'utiliser dans des méthodes templates, inlines ou définies dans l'header.
    Parcontre pas compris là .

  6. #26
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Dans le cas de méthodes inlines/templates, le compilateur ne va se baser que sur l'header.
    Or, l'attribut étant statique au fichier .cpp, je pense que tu auras une erreur lors du linkage.

    Après je pense que la meilleure façon de comprendre est de tester

  7. #27
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    Par défaut
    OK, merci pour tout.

  8. #28
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Citation Envoyé par LinuxUser Voir le message
    HS: serais-tu fan du rappeur Mala ?
    euh... non, pur coïncidence.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Initialisation de membre static
    Par Derfh dans le forum C++
    Réponses: 3
    Dernier message: 02/12/2014, 08h47
  2. Initialisation d'un membre static const
    Par la_urre dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2010, 10h31
  3. [POO] Définition des variables membre static
    Par AurélienB dans le forum Langage
    Réponses: 13
    Dernier message: 18/02/2008, 11h39
  4. Initialisation de membres static const
    Par NiamorH dans le forum C++
    Réponses: 16
    Dernier message: 14/01/2008, 16h50
  5. Réponses: 2
    Dernier message: 30/10/2006, 16h40

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