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 :

d�clarer une variable


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Invit�
    Invit�(e)
    Par d�faut d�clarer une variable
    Bonjour !
    J'ai une question � vous poser :
    J'ai vu qu'en C++ il y a deux mani�res de d�clarer une variable : Type Nom (valeur); et Type Nom = Valeur; quelle est la diff�rence y en a t'il une mieux que l'autre ?

  2. #2
    Membre �m�rite
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Par d�faut
    En fait il n'y a pas de diff�rence, la d�claration de la variable en elle-m�me est "Type Nom" et rien d'autre.
    Par contre, ce qu'on passe entre parenth�ses ou apr�s le signe �gal �a permet de faire une initialisation, qui est une notion diff�rente de la d�claration.

    En pratique, il n'y a pas de grande diff�rence entre utiliser des parenth�ses et le signe �gal. Les deux sont des initialisations. L'avantage des parenth�ses est qu'on peut passer plus d'un argument au constructeur. Le d�savantage c'est ce genre de choses :
    MaClasse monObjet();
    qui, pour un lecteur humain, est une d�claration (et initialisation) de monObjet de type MaClasse, alors que pour le compilo c'est une d�claration de fonction. (C'est pourquoi dans ce cas on va pr�f�rer MaClasse monObjet; )

    Il faut aussi noter que l'initialisation avec le signe "=" est diff�rente de l'affectation.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    Type nom(); // déclaration de la fonction nom qui renvoie un Type
    Type nom; // appel de Type::Type()
    Type nom = Type(2); // appel de Type::Type(int) puis Type::Type(Type&&) --> optimisé par le compilo
    Type nom(2); // appel de Type::Type(int)
    Type nom = 2; // appel de Type::Type(int)
    nom = 3; // appel de Type::operator= (int), affectation
    Y'a quelques d�tails tricky � part �a mais rien de bien int�ressant.

  3. #3
    Invit�
    Invit�(e)
    Par d�faut
    merci beaucoup de ta r�ponse !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. D�clarer une variable pour remplacer cout
    Par alvun dans le forum SL & STL
    R�ponses: 11
    Dernier message: 29/06/2006, 10h29
  2. Comment d�clarer une variable binaire?
    Par Pragmateek dans le forum C++
    R�ponses: 12
    Dernier message: 22/03/2006, 17h35
  3. D�clarer une variable globale
    Par OverLorD34 dans le forum MFC
    R�ponses: 8
    Dernier message: 18/03/2006, 10h46
  4. [Variable] D�clarer une variable avec un nom dynamique
    Par jacquesh dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 10/02/2006, 14h11
  5. R�ponses: 5
    Dernier message: 20/09/2005, 22h48

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