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

Langage C++ Discussion :

surcharger l'opérateur NEW


Sujet :

Langage C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 41
    Points
    41
    Par défaut surcharger l'opérateur NEW
    Bonjour, dans le tutoriel de Laurent Gomila sur la conception d'un moteur 3D sur devloppez il montre comment construire un outils qui permet de détecter les fuites de mémoire. Pour ce faire il surcharge l'opérateur new avec des argument suplémentaire et il définit une macro .....
    #define new new(__FILE__,__LINE__). Cependant, si je veux ajouter la surcharge du l'opérateur new avec std::nothrow ...... comment puis-je faire une macro pour lui avoyer aussi __FILE__ et __LINE__ ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    La version nothrow est une surcharge de new, avec comme paramète une objet de type nothrow_t(std::nothrow) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void* operator new(size_t); //declenche bad_alloc
    void* operator new(size_t, const nothrow_t&); //retourne 0
    Il suffit donc de rajouter une paramètre de type const nothrow_t& à ta surcharge de new. Pour le macro tu peux essayer quelque chose comme ça :
    #define new(x) new(x, __FILE__, __LINE__)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 74
    Points : 41
    Points
    41
    Par défaut
    c'est exactement a quoi j'avait pensé, cependant je ne peut plus utiliser #define new new(__FILE__, __LINE__) car l'autre va écrasser celle la .....

Discussions similaires

  1. Surcharge de l'opérateur new
    Par asaleth dans le forum C++
    Réponses: 9
    Dernier message: 30/03/2015, 21h18
  2. Surcharge de l'opérateur new
    Par :Bronsky: dans le forum C++
    Réponses: 17
    Dernier message: 27/10/2010, 21h33
  3. Compiler la surcharge de l'opérateur new
    Par mutagling dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2010, 07h24
  4. Surcharge de l'opérateur new
    Par asoka13 dans le forum C++
    Réponses: 4
    Dernier message: 09/05/2008, 12h44
  5. [VB .NET] Surcharge d'opérateur
    Par Franckintosh dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/09/2004, 19h05

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