« Programmation C++/Le préprocesseur » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 77 :
=== Les macros===
====Présentation====
Les macros sont des ''<code>#define''</code> particulier parce qu'ils contiennent des paramètres. Ainsi si vous écrivez : <br/>
<nowiki>#define AFFICHE(x) cout<<x<<endl;</nowiki></br/>
Alors vous pouvez écrire AFFICHE("BONJOUR") et le préprocesseur modifiera cette ligne et la transformera en cout<<"BONJOUR"<<endl;. Il y aura substitution de x par "BONJOUR". Il ne faut pas abuser des macros et très souvent l'utilisation de fonctions, notamment les fonctions inline, est préférable.
 
<nowiki> #define AFFICHE(x) cout << x << endl;</nowiki></br/>
====Exemple====
<pre>
#include <iostream>
using namespace std;
 
Alors vous pouvez écrire <code>AFFICHE("BONJOUR")</code> et le préprocesseur modifiera cette ligne et la transformera en cout<<code>cout &lt;&lt; "BONJOUR"<< &lt;&lt; endl;</code>. Il y aura substitution de <code>x</code> par <code>"BONJOUR"</code>. Il ne faut pas abuser des macros et très souvent l'utilisation de fonctions, notamment les fonctions inline, est préférable.
#define AFFICHER(x) cout<<x<<endl;
 
====Exemple====
int main()
#include <iostream>
using namespace std;
AFFICHER("BONJOUR")
return 0;
#define AFFICHER(x) cout << x << endl;
</pre>
int main()
{
AFFICHER("BONJOUR")
return 0;
}