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

Algorithmes et structures de données Discussion :

quesque c'est l'opérateur new


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut quesque c'est l'opérateur new
    Bonjour
    je suis débutant et je suis en étude sur un livre je trouve l'opérateur
    new dans un algo et je ne connai pas son interet
    quelqu'un pourrai me l'expliqué ?

    merci pour tout !

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Il permet une allocation dynamique de mémoire.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 433
    Par défaut
    Oui plus précisement, new alloue de la mémoire et retourne un pointeur vers l'espace alloué.
    Il faut donc donner la valeur retournée par new à un pointeur, comme par exemple:

    Code C++
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Pointeur vers MaClasse
    MaClasse *objet;
     
    // Allocation
    objet = new MaClasse;
     
    // Appelle d'une méthode de l'objet
    objet->maMethode();
     
    // Libération de l'espace
    delete objet;
    Attention, l'allocation d'un espace avec new doit toujours être libéré à la fin du programme (ou avant) avec l'opérateur delete.

  4. #4
    Membre éclairé Avatar de ..::snake::..
    Inscrit en
    Mai 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 318
    Par défaut
    @FabaCoeur

    Merci pour l'explication complete , mais si en ferai pas de new , ca generai pas ?

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Je trouve ça très étonnant que tu ai trouvé ça dans un livre d'algorithmique.

    Citation Envoyé par Davidbrcz
    Il permet une allocation dynamique de mémoire.
    Citation Envoyé par FabaCoeur
    Oui plus précisement, new alloue de la mémoire et retourne un pointeur vers l'espace alloué.
    Il faut donc donner la valeur retournée par new à un pointeur, comme par exemple:
    Pas seulement, il permet également l'instanciation de l'objet.

  6. #6
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Oui new fait un appel implicite à un constructeur en fonction des arguments passés, c'est ce qui fait la supériorité du couple new-delete (initialisation + destruction propre) par rapport au couple malloc-free qui ne fait qu'aalocation et désallocation pour les types du C.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

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

Discussions similaires

  1. Surcharge de l'opérateur new
    Par :Bronsky: dans le forum C++
    Réponses: 17
    Dernier message: 27/10/2010, 21h33
  2. Redéfinition opérateurs new et delete globaux
    Par bolhrak dans le forum C++
    Réponses: 8
    Dernier message: 30/07/2007, 11h34
  3. opérateur new visual c++
    Par zerocoolyoussef dans le forum Visual C++
    Réponses: 4
    Dernier message: 20/11/2006, 20h01
  4. Différence opérateur new et constructeur
    Par Burckel dans le forum C++
    Réponses: 7
    Dernier message: 16/11/2006, 10h21
  5. namespace et opérateur new
    Par Sylvain Rousseau dans le forum C++
    Réponses: 3
    Dernier message: 06/01/2005, 23h24

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