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

Visual C++ Discussion :

Comment faire ma propre classe/template vecteur


Sujet :

Visual C++

  1. #1
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 174
    Points
    174
    Par défaut Comment faire ma propre classe/template vecteur
    Bonjour tout le monde,

    Je bosse sur un projet d'algo à implémenter en C++. La restriction est que l'on ne peut pas se servir de la STL. Donc pour tout ce qui est des tableaux, je dois tout me coltiner à la main. Ce n'est pas réellement le problème. Mais j'aimerais savoir comment je pourrais faire ma classe/template "MonVecteur" pour que je puisse avoir dans la fenêtre des variables locales, sous Visual Studio 2008:

    [+]nomVariable
    [+]nomMonVecteur{attributs}
    [0]{attributs}
    [1]{attributs}
    [2]{attributs}
    [3]{attributs}

    Comme je bosse avec des pointeurs, je n'ai que l'adresse de monVecteur, et je n'ai donc pas accès aux attributs des objets composants mon vecteur.

    J'espère que vous me comprenez

    Comme je suis "débutant" en C++, je ne voudrais pas recopier le code du template Vector, parce que je ne saurais pas l'expliquer le jour de la soutenance du projet, par contre m'en faire un "light" m'intéresserait beaucoup.

    Dans l'espoir que quelqu'un pourra m'aiguiller.

  2. #2
    Membre émérite Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 047
    Points : 2 251
    Points
    2 251
    Par défaut
    Bonjour,

    Même si tu ne comprends pas entièrement tout sur le std::vector, tu peux regarder comment ce passe l'ajout d'un élément:
    http://www.cplusplus.com/reference/s...tor/push_back/
    Il augmente la taille et ré alloue la mémoire pour remettre les objets dedans. Pourquoi donc?
    Pour utiliser le principe des iterateurs, qui ne fonctionne que pour les éléments contigüe en mémoire car il utilise l'arithmétique des pointeurs. Additionner un pointeur à 1 le fait aller à la zone mémoire suivante égale à la taille du type pointer par le pointeur. Tu peux réutiliser ce principe.
    Pour simplifier tu peux faire un tableau de T( template ), ça ne sera pas optimisé mais ça sera plus simple, par contre attention si c'est un vector destiné a beaucoup évoluer, faudrait pensé à une autre solution car tu feras une copie de l'intégralité à chaque rajout.

    Si l'anglais ne te rebute pas , lit tout sur le std::vector ici

  3. #3
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Bonjour,

    Pour s'amuser avec le visualiseur de VS, je conseille vivement de lire ces slides ou si tu préfères sous format vidéo (blip.tv/file/4143220).
    Ce post tiré du blog de VirtualDub est aussi très intéressant.

Discussions similaires

  1. Comment faire son propre bot
    Par Pied_d`orteil dans le forum IRC / mIRC
    Réponses: 7
    Dernier message: 12/04/2011, 12h07
  2. Comment faire ses propres composants?
    Par ruza01 dans le forum Composants
    Réponses: 11
    Dernier message: 26/02/2010, 11h19
  3. [Portlet] Faire sa propre classe GenericPortlet : ClassCastException
    Par ouckileou dans le forum Portails
    Réponses: 1
    Dernier message: 31/07/2009, 18h47
  4. [PHP-JS] Comment faire son propre BBcode
    Par Sniperman dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2006, 17h11

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