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 :

Conteneur personnalisé pour optimisation mémoire, héritage ou réécriture


Sujet :

Langage C++

  1. #21
    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 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Qu'entends-tu par optimisation mémoire ?
    SInon, pourquoi pas une pool ?
    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.

  2. #22
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Pour info, qu'un vecteur soit créé sur la pile ou sur le tas, ses éléments sont toujours créés sur le tas.

    Ensuite, pour ton histoire d'explosion de la RAM, regarde la bibliothèque STXXL.

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 366
    Points : 116
    Points
    116
    Par défaut
    Bonjour a tous,

    Merci pour vos retours,

    Interessant ce STLXXL, malheureusement dans mon cas ceci est refusé car il ne doit pas y avoir de rajout de lib sur le projet existant.
    J'ai du coup recodé tout mon conteneur en encapsulant un std::vector et en fournissant les méthodes d'accès de base, tout est écrit dans un binaire et un vecteur de travail temporaire permet de stocker une certaine plage d'ID pour éviter de faire des accès disques à tout va.

    J'ai néanmoins un petit point concernant la génération d'un id unique pour une classe template (sans utilisation de lib externe).
    Si j'utilisa un static ID il sera défini pour chaque type T de mon template.
    Du coup j'ai rajouté un autre membre static que j'utilise en préfixe et que je spécialise selon le type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    template <typename T> class myTempClass
    {
    protected:
        static unsigned long _Id;
        static unsigned long _Prefixe;
        std::string uniqueName;
        myTempClass()
        {
            createName(getPid(), _Prefixe, ++_Id);
            // uniqueName = PID + _prefixe + _Id;
        }
    }
    template <typename T> unsigned long myTempClass<T>::_Id = 0;
    template <typename T> std::string myTempClass<T>::_Prefixe= "nodef_";
    template <> std::string myTempClass<char>::_Prefixe= "char_";
    template <> std::string myTempClass<float>::_Prefixe= "float_";
    template <> std::string myTempClass<double>::_Prefixe= "double_";
    template <> std::string myTempClass<short>::_Prefixe= "short_";

    Seulement voila, cela m'oblige à spécialiser pour chaque type autorisé et en plus j'ai eu un problème avec des compilos qui ne géraient pas ces inits.

    Y aurait t il une manière plus convenable d'obtenir un ID unique pour ma classe ?
    Merci d'avance

Discussions similaires

  1. Conteneur pour optimisation de temps de calcul
    Par Kaluza dans le forum SL & STL
    Réponses: 5
    Dernier message: 04/04/2010, 00h33
  2. Réponses: 6
    Dernier message: 23/02/2007, 21h20
  3. [glut] vmanque d'inspiration pour optimiser
    Par khayyam90 dans le forum OpenGL
    Réponses: 7
    Dernier message: 01/09/2004, 13h41
  4. [DirectDraw] Que faire pour optimiser le rendu ???
    Par mat.M dans le forum DirectX
    Réponses: 8
    Dernier message: 12/12/2003, 18h02

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