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 :

tableau et fonction en c++


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Par défaut tableau et fonction en c++
    bonjour
    je suis totalement debutant en c++ ( mais pas en programmation)
    je voudrais savoir si il est possible de déclarer une fonction qui prend un tableau d'entiers en parametres et qui renvoie un tableau?
    je vous remrcie

  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 : 50
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<int> f(std::vector<int> entree);
    Ou, selon le cas, pour éviter une copie inutile du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<int> f(std::vector<int> const &entree);
    Voire, si l'entrée est aussi une sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<int> f(std::vector<int> &entree);
    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 du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Par défaut
    merci masi pourrais tu juste commenter un peu le code car je comprens pas grand chose?
    merci

  4. #4
    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 : 50
    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
    Par défaut
    Il y a deux points qui peuvent demander expliquation :

    1/ Le passage de paramètres

    Soit un type A. Pour passer une variable de de type en argument de fonction, il y a trois façons principales :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void f(A a);
    void g(A const &a);
    void h(A &a);
    f prend en paramètre une copie de ce qu'on lui passe. Cette copie est modifiable dans le corps de la fonction, mais la modifier ne change en rien la valeur de ce qu'on lui a passé.
    g prend en paramètre une référence constante sur un A. Cette référence n'est pas modifiable. L'avantage est qu'on a éviter la copie qui peut s'avérer couteuse.
    h prend en paramètre une référence à un A. Modifier cette référence dans la fonction modifie la valeur elle aussi. Du coup, on est obligé d'appeler cette fonction avec une vraie variable, pas avec une constante ou le résultat d'une expression.

    2/ std::vector<int>
    Il y a plusieurs façon de représenter un tableau d'entiers en C++. La meilleur façon dépend probablement de ce qu'on compte faire ce ce tableau. La façon la plus courante de le faire (et celle à mettre en oeuvre par défaut quand on n'a pas vraiment d'autres idées/infos) est d'écrire ce type std::vector<int>. Pour un tableau de taille connue à la compilation, on pourrait écrire int[42] (mais attention, on ne peut pas retourner directement un tel type d'une fonction), ou utiliser une classe spécifique comme boost::array. D'autres variantes sont std::deque<int> ou std::list<int>


    Je te conseille de consulter un ouvrage de C++ qui pourra certainement t'en apprendre plus sur le sujet.
    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.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Par défaut
    merci beaucoup pour tes réponses!!!

  6. #6
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Par défaut
    En fait tu ne t'occupes pas trop du type des données à passer... tu passes à la fonction ton tableau comme tu passerais un int, un double, un objet d'une classe que tu viens de créer...
    Voila

Discussions similaires

  1. Taille d'un tableau en fonction de la taille de la fenetre
    Par Cow-b dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/08/2006, 17h58
  2. tableau de fonction membre
    Par Sergejack dans le forum C++
    Réponses: 5
    Dernier message: 11/08/2006, 02h39
  3. [8086] Un tableau de fonctions
    Par disturbedID dans le forum x86 16-bits
    Réponses: 12
    Dernier message: 21/04/2006, 21h14
  4. Réponses: 8
    Dernier message: 10/03/2006, 17h28
  5. [mise à jour tableau en fonction du button radio]
    Par Lady_jade dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 30/12/2005, 11h41

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