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

Discussion :

Création d'objets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Par défaut Création d'objets
    Bonjour,

    je debute c++/Qt et j'etudie les concepts de c++ (pointeur,...)

    j'ai vu qu'on pouvait creer un objet qt de 2 facons :

    1) QLabel *label = new QLabel("Hello");
    2) QLabel label("Hello");

    Est ce rigoureusement la même chose? y a t il une convention qui vaille mieux une methode que l'autre?

    Merci

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut


    La différence est l'allocation sur la pile ou sur le tas : avec new, tu es sur le tas ; sans, sur la pile.

    La différence est de taille, en réalité : dans le premier cas, tu n'as qu'un pointeur sur l'objet ; dans le second, tu as une référence. À la sortie du scope, le pointeur est détruit, pas ce qu'il contient, l'objet sur lequel tu as une référence est lui détruit.

    En pratique : les pointeurs, c'est LE mal. Tant que tu peux éviter de les utiliser, fais-le. La raison est déjà explicitée : il faut bien à un moment qu'ils soient détruits. Avec Qt, c'est plus simple, si du moins tes objets héritent de QObject et qu'ils ont un parent : dès que le parent est détruit, tous ses enfants sont détruits, jusqu'au dernier. Sans parent, ils ne sont détruits que quand c'est demandé explicitement (delete).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Par défaut
    Merci pour cette explication claire! viva belgium a++

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

Discussions similaires

  1. [PowerBuilder] Création d'objets dynamiques
    Par Béné123456789 dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 00h33
  2. création d'objet en mémoire partagé
    Par BigNic dans le forum C++
    Réponses: 6
    Dernier message: 28/11/2005, 18h41
  3. Réponses: 11
    Dernier message: 16/10/2005, 20h21
  4. [JMenuBar] Création d'objets à la volée
    Par Rampa dans le forum Composants
    Réponses: 5
    Dernier message: 29/06/2005, 13h56
  5. [FLASH MX2004] Création d'objet dynamiquement
    Par noarno dans le forum Flash
    Réponses: 3
    Dernier message: 15/12/2004, 11h00

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