« Guide du C++ pour .NET Programmation » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Les structures de données .NET ou non : syntaxe wiki |
m →Les bibliothèques .NET ou non : syntaxe wiki |
||
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:
// 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"
▲ #include "mes_constantes.h"
Ainsi chaque fichier .cpp pourra inclure '''uniquement''' ce dernier fichier header,
à condition que celui-ci soit toujours mis-à-jour.
Exemple :
// .cpp▼
#include "inclusion_propre.h"▼
MaClasseManagee::FonctionTresUtile() {▼
...▼
}▼
▲ // .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]
|