Publicité
+ Répondre à la discussion
Page 2 sur 2 PremièrePremière 12
Affichage des résultats 21 à 28 sur 28
  1. #21
    Membre expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    814
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 814
    Points : 573
    Points
    573

    Par défaut

    Quand tu dis toute la classe, tu veux dire .h+.cpp, si on a
    Foo.h
    Code :
    1
    2
    3
    4
    5
    class Foo
    {
    private:
      static const double m_m;
    };
    Et
    Foo.cpp:
    Code :
    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
    Expert Confirmé
    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 570
    Points
    2 570

    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 expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    814
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 814
    Points : 573
    Points
    573

    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
    Expert Confirmé Sénior


    Homme Profil pro Denis
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    5 009
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis
    Âge : 21
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2011
    Messages : 5 009
    Points : 14 910
    Points
    14 910

    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 expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    814
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 814
    Points : 573
    Points
    573

    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
    Expert Confirmé Sénior


    Homme Profil pro Denis
    Étudiant
    Inscrit en
    décembre 2011
    Messages
    5 009
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis
    Âge : 21
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2011
    Messages : 5 009
    Points : 14 910
    Points
    14 910

    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 expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    814
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 814
    Points : 573
    Points
    573

    Par défaut

    OK, merci pour tout.

  8. #28
    Expert Confirmé
    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 570
    Points
    2 570

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •