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

Boost C++ Discussion :

[Assign]Quel est l'avantage de list_of


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Par défaut [Assign]Quel est l'avantage de list_of
    Bonjour à tous,

    Malgré plusieurs recherches, je ne trouve pas la réponse à une question aussi simple : Quelle est l'utilité de list_of et comment bien l'utiliser. Un exemple sera plus parlant que des explications (enfin je l'espère ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //
    //type de Data.IB : std::vector< unsigned int >
    //type de offset : unsigned int
    //
     
    // Code1 :
    boost::array<unsigned int,3> IndexProj = { Data.IB[offset], Data.IB[offset+1], Data.IB[offset+2] };
     
    // Code2 :
    boost::array<unsigned int,3> IndexProj2 = list_of (Data.IB[offset]) (Data.IB[offset+1]) (Data.IB[offset+2]);
    Ces deux codes me donnent le même résultat, alors quelle est la différence? pourquoi en utiliser un plutôt que l'autre? (mis à part le fait qu'il faut utiliser boost parce que c'est bien )

    Merci d'avance et bonne journée

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Bien évidemment, dans ce cas là, aucune utilité.

    Mais regarde le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template <typename T, int N, int M> boost:array<T, N+M> concat(const boost::array<T,N>& a1, const boost::array<T,M>& a2);
    Avec la notation { e1, ..., eN } tu écris implicitement le nombre d'éléments.
    Avec list_of, tu peux partir d'un tableau, lui rajouter un élément, et ce dans une boucle par exemple.

    Dans mon exemple précédent, tu fais un list_of des 2 tableaux, que tu mets dans un troisième, qui est celui renvoyé par la fonction.

  3. #3
    Membre confirmé Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Par défaut
    Merci pour ta réponse
    Citation Envoyé par Alp Voir le message
    Avec la notation { e1, ..., eN } tu écris implicitement le nombre d'éléments.
    Jusque là tout va bien...
    Citation Envoyé par Alp
    Avec list_of, tu peux partir d'un tableau, lui rajouter un élément, et ce dans une boucle par exemple
    Dans cet exemple on travail sur des tableaux fixes, je ne vois pas comment rajouter des éléments ?
    Citation Envoyé par Alp
    Dans mon exemple précédent, tu fais un list_of des 2 tableaux, que tu mets dans un troisième, qui est celui renvoyé par la fonction
    Idem, je ne vois pas comment faire, j'ai bien essayé mais le problème c'est que je n'ai pas encore vu d'autre utilisation pour list_of que celle du code que j'ai écrit. Et je n'ai rien trouvé dans la doc, ce lien va peut-être un tout petit peu plus loin (Partie 3 : Advanced usage) mais sans plus...

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par babar63 Voir le message
    Merci pour ta réponse
    Jusque là tout va bien...Dans cet exemple on travail sur des tableaux fixes, je ne vois pas comment rajouter des éléments ?
    Bah c'est pas à ce tableau que tu rajoutes un élément. Il s'agit de construire un tableau de taille fixe un peu plus grand histoire de concaténer les 2 tableaux.

    Il me semble que ça marche comme ça. Si quelqu'un peut confirmer

  5. #5
    Membre confirmé Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Par défaut
    Citation Envoyé par Alp
    Bah c'est pas à ce tableau que tu rajoutes un élément. Il s'agit de construire un tableau de taille fixe un peu plus grand histoire de concaténer les 2 tableaux
    Pourquoi un peu plus grand, pas de taille (M+N) selon ton exemple? J'avoue que là je suis largué...

  6. #6
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    On s'est mal compris : si on reprend un exemple, il s'agit effectivement de créer un tableau de taille N+M contenant les deux autres.

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

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Réponses: 22
    Dernier message: 23/05/2013, 12h40
  3. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  4. [NoSQL] quel est l'avantage pour nos appli tradionnelles?
    Par valkeke dans le forum Autres SGBD
    Réponses: 16
    Dernier message: 03/02/2012, 13h58
  5. [FLASH] Quel est l'avantage?
    Par ghyosmik dans le forum Flash
    Réponses: 2
    Dernier message: 31/12/2005, 01h27

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