Bonjours à tous,
une fonction peut elle retourner plusieurs valeurs?
Car je ne connais que return capable de retourner une valeur.
Merci d'avance pour votre aide
Bonjours à tous,
une fonction peut elle retourner plusieurs valeurs?
Car je ne connais que return capable de retourner une valeur.
Merci d'avance pour votre aide
Une fonction ne peut retourner qu'une seule donnée, englobée dans une structure ou pas.
On peut aussi passer les futures retours de donénes par pointeur ou référence à la fonction lors de son appel.
J'ai appris une chose le jour où je suis passée de C++ à Java.
En Java, impossible de retourner plusieurs valeurs.... Panique, je ne savais plus comment coder...
Je me suis repenchée sur les concepts objets, et effectivement, une fonction qui retourne une valeur et une seule, c'est propre, évolutif, maintenable, en bref, objet![]()
Donc, on retourne à la conception...
Le C++ ne permet pas de retourner plusieurs valeurs, donc je ne vois aps comment tu as pu être déboussolé avec Java![]()
Je reconnais que le terme "retourner" était abusif...
On peut toujours faire "sortir" plusieurs valeurs en modifiant les variables de la fonction appelante en passant leur adresse.
Si tu passes tes variables (ou plutôt objetEnvoyé par Futixu
) par référence (&), alors c'est l'objet lui-même que tu vas manipuler....
Pas besoin de return donc, puisque tu écris ... directement dedans !![]()
Je pense qu'il devait parler des fonctions à nombre de paramètres variables qu'on lit avec les va_arg, va_start, ...
C'est un héritage du C
Vous trouvez que c'est propre les pointeurs en C++ ? Ou vaut-il mieux de créer 4 fonctions même si elles sont assez similaires, ainsi que de surcharger leurs arguments s'il le faut, plutôut que recourrir aux fameux pointeurs ?
Pour des valeurs de retour facultatives ?
Les pointeurs sont mieux.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
J'essaie d'utiliser les pointeurs le moins possible sauf dans le cas de liste, vecteurs,... d'objets hérités.Envoyé par shuygar
Sinon je ferai 5 fonctions, 4 pour les différents type d'objet et une privée ou protégée pour le traitement commun aux quatres.
Sauf que des fonctions, il n'en faudra pas 4, il en faudra 16 si ce sont des objets différents.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager