Fonction qui retourne une structure - C - Programmation
Marsh Posté le 06-08-2009 à 12:05:57
Tout à fait. Mais quand la taille de la structure devient importante (genre + de 2 pointeurs/double), c'est moins intéressant en termes de performances que de passer un argument out vers une structure.
Sauf si ta fonction est inline, le compilateur risque alors de bien optimiser tout ça.
La 3 double, ça passe sans trop de difficulté.
Marsh Posté le 06-08-2009 à 14:02:06
D'accord, merci de ces précisions.
Pensez-vous que je peut adapter ce qui est fait là à une structure de type "s_Point3DPondere" définit ainsi :
Code :
|
Avec un s_Point3D :
Code :
|
Est-ce que ce serais utile? Ou vaut-il mieux que je passe par un argument en sortie?
Marsh Posté le 06-08-2009 à 14:07:59
Comme je te disais, ça commence à être une taille conséquente et donc c'est mieux de passer ça par pointeur, pour éviter une recopie par valeur couteuse.
Marsh Posté le 06-08-2009 à 15:04:40
perso, j'aime bien faire du pseudo objet en C avec des fonction qui prennent un 1er parametre du type de la structure à bidouiller, quelque soit la taille.
Marsh Posté le 06-08-2009 à 11:42:26
Bonjour
Je pensais qu'une fonction ne pouvais renvoyer qu'un type simple et non une structure et que pour renvoyer une structure il faut forcement passer par un void.
Mais voici le code que je viens de lire (il est pas de moi) et qui fonctionne :
Donc on peut passer un structure en type de retour pour une fonction??
Merci de vos commentaires