« Programmation C++/Les références » : différence entre les versions
Contenu supprimé Contenu ajouté
m <source> -> <syntaxhighlight> (phab:T237267) |
|||
Ligne 10 :
=== Déclaration ===
<
type& identificateur=variable;
ou
type& identificateur(variable);
</syntaxhighlight>
=== Sémantique ===
Ligne 20 :
=== Exemple de programme ===
<
#include <iostream>
using namespace std;
Ligne 41 :
return 0;
}
</syntaxhighlight>
==== Exécution ====
Ligne 63 :
'''Exemple :'''
<
class Retour
Ligne 80 :
}
</syntaxhighlight>
== Les références et leur lien avec les pointeurs ==
Ligne 91 :
Faites une fonction dont la déclaration sera <code>void échanger(int & a, int & b)</code> qui devra échanger les deux valeurs.
{{Boîte déroulante|titre = Solution|contenu=
<
void échanger(int & a, int & b)
{
Ligne 98 :
b = c;
}
</
=== Exercice 2 ===
Ligne 118 :
Voici un exemple de fonction récursive qui ne répond pas à la consigne d'avoir une déclaration int factorielle (int & n) et qui par conséquent ne peut être qualifiée de solution à l'exercice 2 :
<
#include <iostream>
using namespace std;
Ligne 131 :
cout << "resultat : " << y << endl;
}
</syntaxhighlight>
Une autre solution est (mais la fonction retourne factoriel n, pas n) :
<
#include <iostream>
using namespace std;
Ligne 150 :
cout << "resultat : " << y << endl;
}
</syntaxhighlight>
Une autre solution :
<
#include <iostream>
Ligne 182 :
}
</syntaxhighlight>
}}
Ligne 191 :
==== Cas 1 ====
<
int b = n;
int & ref = b;
</syntaxhighlight>
==== Cas 2 ====
<
int x=5;
int & var = x;
</syntaxhighlight>
==== Cas 3 ====
<
int n = 2;
int & ref = n;
if(*(ref) == 2) ref++; //ceci provoque une erreur car ref n'est pas un pointeur
</syntaxhighlight>
==== Cas 4 ====
<
#include <iostream>
using namespace std;
Ligne 217 :
cout << a << endl;
}
</syntaxhighlight>
==== Cas 5 ====
<
int b = 2;
int ref& = b;
</syntaxhighlight>
==== Solution ====
Ligne 237 :
==== Cas 1 ====
<
#include <iostream>
using namespace std;
Ligne 250 :
cout << ref2 << " " << ref1 << endl;
}
</syntaxhighlight>
{{Boîte déroulante|titre = Solution|contenu = 6 -4}}
|