« Guide du C++ pour .NET Programmation » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 122 :
= Les bibliothèques .NET ou non =
 
== L'ordre d'inclusion des bibliothèques ''(libraries)'' ==
 
Quelques ambiguïtés malheureuses peuvent apparaître si le principe suivant n'est pas respecté :
Ligne 137 :
 
Par exemple:
<pre>
// inclusion_propre.h
#pragma once
 
// inclusion_propre.h
// inclusions non managées
#pragma once
#include <cstring>
#include "la_vieille_bibliothèque.h"
// inclusions non managées
 
#include <cstring>
// inclusions d'espaces de nom .NET
#include "la_vieille_bibliothèque.h"
using System::Text;
using System::Runtime::InteopServices;
// inclusions d'espaces de nom .NET
 
using System::Text;
// inclusion de fichier Headers Managés
using System::Runtime::InteopServices;
 
#include "mes_types_manage.h"
// inclusion de fichier Headers Managés
#include "mes_constantes.h"
 
#include "mes_types_manage.h"
</pre>
#include "mes_constantes.h"
 
Ainsi chaque fichier .cpp pourra inclure '''uniquement''' ce dernier fichier header,
à condition que celui-ci soit toujours mis-à-jour.
 
Exemple :
<pre>
// .cpp
 
#include "inclusion_propre.h"
 
MaClasseManagee::FonctionTresUtile() {
...
</pre>
 
// .cpp
#include "inclusion_propre.h"
MaClasseManagee::FonctionTresUtile() {
...
}
 
Pour plus d'information à propos de cette bizarrerie, voir le [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmg_AmbiguousReferences.asp| document correspondant dans la MSDN]