retour (dans ce cas, la notion de constance n’a plus de signification).
La notion de référence est théoriquement indépendante de celle de transmission
d’argument ; en pratique, elle est rarement utilisée en dehors de ce contexte.
L’instruction return
L’instruction return sert à la fois à fournir une valeur de retour et à mettre fin à
l’exécution de la fonction. Elle peut mentionner une expression ; elle peut apparaître à
plusieurs reprises dans une même fonction ; si aucune instruction return n’est
mentionnée, le retour est mis en place à la fin de la fonction.
Lorsqu’une fonction ne fournit aucun résultat, son en-tête et sa déclaration comportent
le mot void à la place du type de la valeur de retour, comme dans :
void fSansValRetour (...)
Lorsqu’une fonction ne reçoit aucun argument, l’en-tête et la déclaration comportent une
liste vide, comme dans :
int fSansArguments ()
Les arguments par défaut
Dans la déclaration d’une fonction, il est possible de prévoir pour un ou plusieurs
arguments (obligatoirement les derniers de la liste) des valeurs par défaut ; elles sont
indiquées par le signe =, à la suite du type de l’argument, comme dans cet exemple :
float fct (char, int = 10, float = 0.0) ;
Ces valeurs par défaut seront alors utilisées lorsqu’on appellera ladite fonction avec un
nombre d’arguments inférieur à celui prévu. Par exemple, avec la précédente
déclaration, l’appel fct ('a') sera équivalent à fct ('a', 10, 0.0) ; de même, l’appel fct
('x', 12) sera équivalent à fct ('x', 12, 0.0). En revanche, l’appel fct () sera illégal.
Conversion des arguments
Lorsqu’un argument est transmis par valeur, il est éventuellement converti dans le type
mentionné dans la déclaration (la conversion peut être dégradante). Ces possibilités de
conversion disparaissent en cas de transmission par référence : l’argument effectif doit
alors être une lvalue du type prévu ; ctte dernière ne peut posséder l’attribut const si
54
La notion de référence est théoriquement indépendante de celle de transmission
d’argument ; en pratique, elle est rarement utilisée en dehors de ce contexte.
L’instruction return
L’instruction return sert à la fois à fournir une valeur de retour et à mettre fin à
l’exécution de la fonction. Elle peut mentionner une expression ; elle peut apparaître à
plusieurs reprises dans une même fonction ; si aucune instruction return n’est
mentionnée, le retour est mis en place à la fin de la fonction.
Lorsqu’une fonction ne fournit aucun résultat, son en-tête et sa déclaration comportent
le mot void à la place du type de la valeur de retour, comme dans :
void fSansValRetour (...)
Lorsqu’une fonction ne reçoit aucun argument, l’en-tête et la déclaration comportent une
liste vide, comme dans :
int fSansArguments ()
Les arguments par défaut
Dans la déclaration d’une fonction, il est possible de prévoir pour un ou plusieurs
arguments (obligatoirement les derniers de la liste) des valeurs par défaut ; elles sont
indiquées par le signe =, à la suite du type de l’argument, comme dans cet exemple :
float fct (char, int = 10, float = 0.0) ;
Ces valeurs par défaut seront alors utilisées lorsqu’on appellera ladite fonction avec un
nombre d’arguments inférieur à celui prévu. Par exemple, avec la précédente
déclaration, l’appel fct ('a') sera équivalent à fct ('a', 10, 0.0) ; de même, l’appel fct
('x', 12) sera équivalent à fct ('x', 12, 0.0). En revanche, l’appel fct () sera illégal.
Conversion des arguments
Lorsqu’un argument est transmis par valeur, il est éventuellement converti dans le type
mentionné dans la déclaration (la conversion peut être dégradante). Ces possibilités de
conversion disparaissent en cas de transmission par référence : l’argument effectif doit
alors être une lvalue du type prévu ; ctte dernière ne peut posséder l’attribut const si
54
