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

Langage C++ Discussion :

Initialiser un objet comme un tableau: {1,3,2,4}


Sujet :

Langage C++

  1. #1
    Membre éclairé Avatar de Rodrigue
    Inscrit en
    Août 2002
    Messages
    487
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 487
    Par défaut Initialiser un objet comme un tableau: {1,3,2,4}
    Bonjour ,

    Je voudrais pouvoir utiliser une de mes fonctions de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test.Allocate({1,2},50);
    Remarquez le terme {1,2}.
    Celui-ci devrait être copié automatiquement dans un objet qui est en fait un tableau dynamique englobé (dont la taille est mémorisé et qui s'efface automatiquement à la destruction de l'objet...) et qui est passé à ma fonction.

    Est-ce possible? Sinon comment faire autrement?

    Merci

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Citation Envoyé par Rodrigue Voir le message
    Bonjour ,

    Je voudrais pouvoir utiliser une de mes fonctions de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test.Allocate({1,2},50);
    Remarquez le terme {1,2}.
    En C++0x, c'est possible grâce aux listes d'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    struct param
    {
        param(int,int){}
     
    };
     
    struct other
    {
        void Allocate(param const&,int){}
    };
     
    int main()
    {
        other().Allocate({1,2},3);
        return 0;
    }
    En C++98, je ne vois pas comment faire

    Citation Envoyé par Rodrigue Voir le message
    Celui-ci devrait être copié automatiquement dans un objet qui est en fait un tableau dynamique englobé (dont la taille est mémorisé et qui s'efface automatiquement à la destruction de l'objet...) et qui est passé à ma fonction.
    Quelle que soit la solution, elle ne copiera pas 'automatiquement' quelque chose. Ce sera à faire explicitement dans ta fonction.

  3. #3
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Bonjour,

    Il n'y a pas quelque chose qui peut faire ton affaire dans Boost::assign ?

    Bon après c'est peut-être un peu lourd pour quelque chose qui est supposé te simplifier la vie.

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. Utiliser n'importe quel objet comme un tableau
    Par Lethal dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 22/03/2006, 11h38
  3. Probleme <div> et float -> comme un tableau!
    Par elraton dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/08/2005, 19h49
  4. recupération d'objet d'un tableau
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/07/2005, 15h01
  5. [servlet] initialisation d'objets
    Par tiPouick dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/08/2003, 12h12

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