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
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
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> 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> const &entree);
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.
merci masi pourrais tu juste commenter un peu le code car je comprens pas grand chose?
merci
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 :
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�.
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);
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.
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
Partager