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 :

Polymorphisme + New


Sujet :

C++

  1. #21
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 349
    Par défaut
    Ok, mais pourquoi tu veux utiliser un Vector? C'est une structure de données dynamique, alors que toi tu as un tableau statique (sa taille de 1024*1024*1024 ne change pas)?

    Et que contient un de tes objets? Je réitère mon histoire de mémoire: 16Go ça parait beaucoup, mais avec un millard d'elément ça ne te laisse 16octets par objet.

  2. #22
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    <mode coup de gueule>
    Mais c'est dingue ça!
    Suite à un nombre grandissant de personnes qui m'envoient des MPs, je recorrige ma signature pour bien signifier que non, je ne répondrais pas. Et ben non. Je continue de recevoir des MPs sur des sujets techniques, pire des copier coller exacts de ce que l'on lit ici.
    Mais ce n'est pas possible. Si on ne répond pas dans la journée aux posts sur les forums, c'est qu'il y a une raison bon sang de bon soir!

    Tiens, du coup je répondrais peut-être plus tard.
    </>
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #23
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    C'est le statut d'expert, ça attire les foules.

  4. #24
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    Et quand on sait comment on l'obtient... Pfff, c'est dingue.
    J'aime bien ton status courant de "provisoirement toléré". Petit veinard va. Profites-en bien.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #25
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    @OP. Tu veux factoriser du code (compilation), ou bien charger un biniou dont le type sera déterminé à la lecture d'un fichier (p.ex.) et appliquer ensuite (exécution) ce qui va bien en conséquence ?

    Sinon, je lis des choses qui me font penser à ce que j'ai entr'apperçu dans adobe.GIL (bientôt boost.GIL, donc).
    NB: je ne suis pas un spécialiste du domaine.

    Citation Envoyé par Cheps
    Ok, mais pourquoi tu veux utiliser un Vector? C'est une structure de données dynamique, alors que toi tu as un tableau statique (sa taille de 1024*1024*1024 ne change pas)?
    Pour précser le vocabulaire. "tableau statique" == "buffer dans la pile". Ce ne tiendra jamais.
    Si tu veux juste dire que cela ne serait jamais redimensionné, avec les vecteurs, il ne devrait pas payer ce qu'il n'utilisera pas. Ceci dit, il est vrai qu'il existe des structures matricielles 100 fois plus adaptées. On les trouve p.ex. chez boost, voire chez adobe pour ce qui est des images.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #26
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Citation Envoyé par Cheps
    Ok, mais pourquoi tu veux utiliser un Vector? C'est une structure de données dynamique, alors que toi tu as un tableau statique (sa taille de 1024*1024*1024 ne change pas)?
    Tu as parfaitement raison : il n'a pas besoin d'un tableau dynamique.

    Cependant, il me semble plus intelligent, lorsque l'on n'a pas forcément une maitrise parfaite du c++ comme la tienne, d'utiliser un conteneur tout fait.

    Ce n'est pas plus rapide à l'exécution, ce n'est peut-être pas optimum en mémoire, ce n'est pas aussi "class" que de faire son propre conteneur, mais c'est plus sur et cela lui évitera plein d'ennuis, comme la gestion d'un tableau de pointeurs, les Individus**, la gestion de sa mémoire...

    Après, je t'accorde qu'il existe d'autres conteneurs plus adaptés comme ceux que propose "Luc Hermitte", reste à savoir si ce problème mérite le fait d'inclure une librairie additionelle (fut-ce boost) , ce qui n'est pas forcément évident quand on ne maitrise pas son ide / compilateur.

  7. #27
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 349
    Par défaut
    Je n'ai jamais utilisé des tableaux d'un milliard d'elément, mais j'ai une applic avec un tableau de 400*400*400 int et qui tourne parfaitement. Tu veux dire quoi par "Ce ne tiendra jamais." ? Niveau stabilité ou niveau performances?

  8. #28
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void f() {
       int t[TROPGROSPASSERAPAS];
       std::cin >> t[0];
    }
     
    int main() {
        f();
        return EXIT_SUCCESS;
    }
    => core dump
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  9. #29
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 349
    Par défaut
    Moi je fais un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int *tab;
     
    try
    {
        tab = new int[GROSTABLEAU];
    }
    catch(std::bad_alloc &e)
    {
        "Aïe aïe aïe"
    }

  10. #30
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    J'ai pas bien compris le probleme. Je ne suis pas sur en particulier que la difference ait ete faite entre le probleme et la solution envisagee. Je n'ai pas non plus compris pourquoi une solution pure template est a rejeter car ca me semble etre la meilleure solution au probleme que j'ai compris.

    En admettant qu'il faille etre plus dynamique, avoir les objets qui ont des membres virtuels me semble a eviter. Donc on se retrouve a decoupler les objets de leur comportement. Ca fait penser aux patterns Flyweight, Prototype, Strategy et Template Method du bouquin du GoF. Peut-etre encapsule dans des templates qui pour fournir une interface type safe a une interface de plus bas niveau.

  11. #31
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Par défaut
    Je suis débutant en C++ et d'un bon niveau en C++.

    J'ai une librairie de traitement d'image en c normal qui au fur et à mesure devient affreuse car pour chaque nouveau type ajouté, je dois réecrire tous les opérateurs avec le nouveau type....et d'autres problèmes.
    Je me suis dit pourquoi pas le C++???
    C'est que j'essaye.
    Etant débutant en C++, je ne suis pas très familier avec tous ses concepts. C'est pourquoi tu dois avoir surement raison dans ta critique.
    Je n'ai pas non plus compris pourquoi une solution pure template est a rejeter car ca me semble etre la meilleure solution au probleme que j'ai compris.
    Le plus simple serait plutôt que j'expose ce que je veux faire conceptuellement. Puis des personnes éclairés dans le domaine comme toi Jean-Marc, me dise: dans ton cas: il faut utiliser pure template!!!!

    Dans un long message juste avant, j'explique ce que je souhaîte faire.
    Si tu veux m'aider ca serait cool et si tu as besoin de plus d'infos pas de probleme

Discussions similaires

  1. Polymorphisme, new et reference
    Par Bouteille dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2012, 12h08
  2. Réponses: 4
    Dernier message: 24/03/2004, 12h37
  3. Database new user & create table
    Par MFDev dans le forum InterBase
    Réponses: 3
    Dernier message: 30/09/2003, 20h47
  4. Bug new build ??
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 31/01/2003, 10h30
  5. [] Insérer DE et Datareport existant ds new projet
    Par khany dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/01/2003, 09h52

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