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 :

gestion de matrice d'objet


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut gestion de matrice d'objet
    Bonjour à tous ...

    voila, je me lance encore un projet de fou ... (un jeu de la vie pour ceux qui connaissent)

    pour commencer, je me demande comment gérer en C++ une matrice d'objet (case)
    afin de gérer ma grille quoi ...

    si j'avais 10 cases ... bon 10 objet en RAM ... c'est pas lourd ... mais si après je veux aller plus loin ... genre un cube de 100 cases de coté (1 Mcase au total) je ne pense pas qu'il soit rigoureux de stocker ça en RAM ...

    donc je suis ouvert à tous conseils ... sur la gestion de cette matrice ...

    en gros l'objet case aura en attribut sa position dans la grille ... mais je ne sais pas comment gérer cet ensemble de case ...

    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Je te conseille dans un premier temps de ne pas te préocuper de l'occupation mémoire, après tout, 10 000 cases de côté, ça ne fait que 100 000 000 cases, donc même à un octet par case, ça fait moins de 100Mo, qui est bien plus petit que la mémoire existante sur une machine classique.

    Si après, tu veux plus gros, il sera temps, pour peu que tu aies fait du code propre, de changer ça sans impacter le reste du code.

    Donc un simple vector<char> monde(nbLigne*nbColonne); où tu accède à un élément par monde[x + y*nbColonne], le tout bien encapsulé, me semble suffisant.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 77
    Points
    77
    Par défaut
    Donc un simple vector<char> monde(nbLigne*nbColonne); où tu accède à un élément par monde[x + y*nbColonne], le tout bien encapsulé, me semble suffisant.
    et dans chaque case de ce tableau je pourrais stocker un objet ?? c'est ça l'idée ?

Discussions similaires

  1. A propos du tutoriel sur la gestion des matrices
    Par Pierre845 dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/04/2008, 13h32
  2. [PHPTAL] gestion des méthodes des Objets
    Par ronio dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/03/2006, 14h29
  3. Gestion des versions d'objets dans les SGBD
    Par bennus dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 09/05/2005, 12h57
  4. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19

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