Plateforme, valeur par défaut et espaces de noms cli (C++/CLI et C++/CX)
Un espace de noms qualifie les noms des éléments du langage afin que les noms n'entrent pas en conflit avec des noms sinon identiques ailleurs dans le code source. Par exemple, une collision de nom risque d’empêcher le compilateur de reconnaître des mots clés contextuels. Les espaces de noms sont utilisés par le compilateur mais ne sont pas conservés dans l'assembly compilé.
Tous les runtimes
Visual Studio offre un espace de noms par défaut pour votre projet lorsque vous créez le projet. Vous pouvez renommer manuellement l’espace de noms, même si, dans C++/CX, le nom du fichier de .winmd doit correspondre au nom de l’espace de noms racine.
Windows Runtime
Pour plus d’informations, consultez Espaces de noms et visibilité de type (C++/CX).
Spécifications
Option du compilateur : /ZW
Common Language Runtime
Syntaxe
using namespace cli;
Notes
C++/CLI prend en charge l’espace de noms cli. Lors de la compilation avec /clr
, l’instruction using
de la section Syntaxe est implicite.
Les fonctionnalités de langage suivantes se trouvent dans l’espace de noms cli :
Spécifications
Option du compilateur : /clr
Exemples
L’exemple de code suivant montre qu’il est possible d’utiliser un symbole dans l’espace de noms cli comme symbole défini par l’utilisateur dans votre code. Toutefois, une fois que vous l’avez fait, vous devez qualifier explicitement ou implicitement vos références à l’élément de langage cli du même nom.
// cli_namespace.cpp
// compile with: /clr
using namespace cli;
int main() {
array<int> ^ MyArray = gcnew array<int>(100);
int array = 0;
array<int> ^ MyArray2 = gcnew array<int>(100); // C2062
// OK
cli::array<int> ^ MyArray2 = gcnew cli::array<int>(100);
::array<int> ^ MyArray3 = gcnew ::array<int>(100);
}