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

SL & STL C++ Discussion :

Comment initialiser un vector à sa création ?


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut Comment initialiser un vector à sa création ?
    Bonjour a tous, je regrete de poser la question car je pensais vraiment trouvé par moi même ce genre de petit "détail" sur le net, maios je n'y suis pas parvenu :/

    Mon but :

    initisliser un std::vector dés sa création ( ou mieux, a n'importe quel moment, mais je doute que ce soit possible )

    en gros je veut pouvoir faire:

    vecotr <vector <int>> vec(5,5) = // une matrice de taille 5*5
    {0,1},
    {2,12},
    {5,1},
    {4,4},
    {0,1} ;

    enfin, quelque chose dans le genre ...
    merci d'avance , j'ai regardé dans les fac c/c++ et je n'ai rien trouvé a ce sujet .

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Par défaut
    Je crains que l'on ne puisse initialiser un vecteur avec une non l-value...

    Je pense en outre que la classe valarray est plus adapter à tes besoins.

    Pour le reste, il y a http://www.ishiboo.com/~nirva/c++/stl-ref/ ;-)

  3. #3
    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
    Il y a une nouvelle sous bibliothèque toute récente dans boost v1.32.0 qui permet de faciliter ce genre d'écriture -- note au passage que les vecteurs de vecteurs ne sont pas ce qu'il y a de mieux pour des matrices.

    PS: ce lien est une vieille version probablement pas mise à disposition de manière légale (je m'avance peut-etre) de la documentation associée à l'implémentation de la SL par dinkumware. Autant aller à la source -> c'est plus à jour et une pub de temps en temps ne tue pas.
    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...

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    En fait je me demande si des simple "tableaux" ne me suffirai pas ;o)
    j'ai en fait juste besoin de les initialiser, et d'accéder rapidement aux valeur [i][j] ; en pratique c'est juste pour représenter des "tiles" dans une map en 2D .

    Je vais me renseigner pour voir quel conteneur est le plus adapté
    merci de vos réponses !

    Quant a Boost ... il faut vraiment que je my mette !! Il y a vraiment l'air d'y avoir beaucoup de choses trés utile la dedans ; dommage que l'installation soit si pénible pour un néophyte comme moi !

    Bonne nuit les gens

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    L'interet d'un vecteur est qu'il est dynamique et gère la mémoire tout seul. Si ton tableau contient un nombre fixe de cases un simple tableau statique peut tout à fait convenir.

    Pour boost ce n'est pas si compliqué, quelques trucs à télécharger et une ligne à taper dans la console .

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Pour boost ce n'est pas si compliqué, quelques trucs à télécharger et une ligne à taper dans la console
    J'ai essayé ...j'ai finit par pester et rager contre mon pc aprés quelques heures passer a mouliner ;o)
    Si bien que je me suis dit que j'irai plus vite en réécrivant les algo moi même

    Pour les vecteur, tu a raison , je ne sais pas pourquoi je m'était mis dans la tête qu'un vecteur était TOUJOURS mieux qu'un tableaux ...

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Par défaut
    Citation Envoyé par Luc Hermitte
    PS: ce lien est une vieille version probablement pas mise à disposition de manière légale (je m'avance peut-etre) de la documentation associée à l'implémentation de la SL par dinkumware. Autant aller à la source -> c'est plus à jour et une pub de temps en temps ne tue pas.

    Il semblerait effectivement. C'est tout à fait involontaire de ma part.

  8. #8
    Membre expérimenté
    Profil pro
    Enculeur de mouches
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Enculeur de mouches

    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Par défaut
    Eventuellement il reste la possibilité d'hériter des classes STL et de redéfinir un constructeur...

    Par contre
    Je crains que l'on ne puisse initialiser un vecteur avec une non l-value...
    N'appelle t-on pas LeftValue cette partie de l'expression parceque justement elle est à gauche : : :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Initialiser un vector lors de sa création
    Par vince3147 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/08/2007, 14h17
  2. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 15h02
  3. Comment initialiser une liste de composants avec une boucle ?
    Par EricSid dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/04/2005, 18h46
  4. Comment initialiser une ChildFrame ???
    Par loupdeau dans le forum MFC
    Réponses: 14
    Dernier message: 22/03/2005, 13h28
  5. Réponses: 17
    Dernier message: 01/03/2005, 16h11

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