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 :

Variable d'instance et variable de classe


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Variable d'instance et variable de classe
    Bonjour
    J'ai une question plutot theorique que tenhique.
    Voila, j'ai du mal a comprendre la diferrence entre une variable de classe et une variable d'instance.
    De plus je ne comprend pa comment elle sont gerer par le C++.
    Quelqu'un pourait il m'aider?
    Merci d'avance a vous tous!

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2015
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Une variable de classe (déclarée static) est une variable qui n'appartient à aucune instance de cette classe. C'est une variable globale, commune à toute les instance, et donc sa mémoire est allouée une seule fois. Les modifications apportée par les différentes instances d'une classe à une de ses variables static seront visible à toutes les autres instances. Alors que les variable d'instance sont propres à chaque instance de classe. Leur mémoire est donc allouées autant de fois que cette classe est instanciée.
    Il s'agit de la même choses pour les fonctions déclarée static. Cependant, le principe de leurs utilités respectives n'est pas le même. Pour les variable, elles servent principalement à recueillir des informations de traitement communes à l'ensemble des instances. Alors que pour les fonctions, il s'agit simplement de traitement non dépendant des instances, et donc elle permettent d'utiliser une fonction d'une classe sans avoir à instancier cette dernière. Ceci est pratique lorsque la classe est de taille importante, et permet donc de gagner en mémoire. Aussi, ceci permet de regrouper des fonctions à usage similaires, et de faciliter leur usage.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Et l'award d'or de l 'archéologie est décernée à ...
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Et l'award d'or de l 'archéologie est décernée à ...
    J'avais pas remarqué, 8 ans après

    Citation Envoyé par HomDhi Voir le message
    Ceci est pratique lorsque la classe est de taille importante, et permet donc de gagner en mémoire. Aussi, ceci permet de regrouper des fonctions à usage similaires, et de faciliter leur usage.
    En en plus, c'est n'importe quoi.
    • Une fonction membre ne prend pas plus de place qu'une fonction membre static, il n'y a aucun gain de place à réaliser.
    • Les fonctions libres apportent plus de souplesse et peuvent être mises dans des namespace. La fonction membre static n'a vraiment d'utilité que si elle doit accéder des membres static privés (exemple: getInstance() d'un singleton).
    Find me on github

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Surtout pour un premier message. C'est fort, très fort.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Points : 342
    Points
    342
    Par défaut
    Je suis sûr que cette discussion va se retouver dans le bêtisier dans pas longtemps...
    @Bousk, @leternel : c'est pas cool de chambrer les nouveaux.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2009, 11h36
  2. Variables de classe vs Variables d'instance
    Par webja dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2007, 09h28
  3. Collection et variable non instancié
    Par david06600 dans le forum Langage
    Réponses: 1
    Dernier message: 17/08/2006, 14h23
  4. Variable d'instance et classe anonyme
    Par zoullou dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 21/05/2006, 12h30
  5. [POO] Retrouver une variable d'instance de classe
    Par stailer dans le forum Langage
    Réponses: 1
    Dernier message: 18/02/2006, 10h56

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