Correction du TD 1. More...
#include <iostream>
Go to the source code of this file.
Functions | |
int & | hop (int &x) |
1.a Fonction identité | |
int & | hip (int t[], int i) |
1.b Accès à un tableau | |
void | byte_print (long l) |
2.a et 2.d Affichage d'un entier long octet par octet | |
void | byte_swap (void *p, void *q) |
2.b Echange le contenu des octets pointés | |
void | big_to_little (long &l) |
2.c Echange l'ordre des octets | |
unsigned | f (unsigned n, unsigned x, unsigned y) |
3 Calcule le n-ème terme d'une suite à la Fibonacci | |
unsigned | f (unsigned n, unsigned x=0u) |
3 Calcule le n-ème terme d'une suite à la Fibonacci | |
int | main () |
Correction du TD 1.
Ce fichier contient les solutions du TD 1, question 2.e et 2.f exceptées
Definition in file td1.cc.
void big_to_little | ( | long & | l | ) |
void byte_print | ( | long | l | ) |
void byte_swap | ( | void * | p, | |
void * | q | |||
) |
unsigned f | ( | unsigned | n, | |
unsigned | x = 0u | |||
) |
3 Calcule le n-ème terme d'une suite à la Fibonacci
Cette fonction est une spécialisation pour un ou deux argument de la fonction générale de même nom. Sachant que le second argument n'a pas le même sens dans cette fonction que dans la fonction générale, on ne peut pas effectuer cette spécialisation simplement en fixant des valeurs par défaut pour les deux derniers arguments de la fonction à trois arguments (comprenne qui pourra).
n | le rang du terme à calculer | |
x | le terme u[1] |
unsigned f | ( | unsigned | n, | |
unsigned | x, | |||
unsigned | y | |||
) |
int& hip | ( | int | t[], | |
int | i | |||
) |
1.b Accès à un tableau
Il n'y a pas besoin de passer le tableau par référence, puisque t est en fait un pointeur sur le tableau d'origine, ni l'indice i, dont c'est uniquement la valeur qui nous intéresse.
t | un tableau | |
i | un indice dans ce tableau |
int& hop | ( | int & | x | ) |
1.a Fonction identité
Pour que la valeur de retour d'une fonction soit une "lvalue", c'est-à-dire affectable, il faut qu'il s'agisse d'une référence (ou d'un pointeur qu'on déréférence). Pour que la fonction agisse sur la variable x, il ne faut aucune copie, donc l'argument de hop doit etre passé par référence.
x | une référence sur un entier |