Aide-mémoire (C++/CX)

Windows Runtime prend en charge les applications plateforme Windows universelle (UWP). Ces applications s’exécutent uniquement dans un environnement de système d’exploitation fiable, utilisent des fonctions autorisées, des types de données et des appareils, et sont distribuées via le Microsoft Store. Le C++/CX simplifie l’écriture d’applications pour Windows Runtime. Cet article est une référence rapide ; pour obtenir une documentation plus complète, consultez Type system.

Lorsque vous générez sur la ligne de commande, utilisez l’option /ZW du compilateur pour générer une application UWP ou un composant Windows Runtime. Pour accéder aux déclarations Windows Runtime, définies dans les fichiers de métadonnées Windows Runtime (.winmd), spécifiez la #using directive ou l’option du /FU compilateur. Lorsque vous créez un projet pour une application UWP, Visual Studio définit par défaut ces options et ajoute des références à toutes les bibliothèques Windows Runtime.

Aide-mémoire

Concept C++ standard C++/CX Notes
Types fondamentaux Types fondamentaux C++ Types fondamentaux C++/CX qui implémentent des types fondamentaux définis dans Windows Runtime. L’espace default de noms contient des types fondamentaux intégrés C++/CX. Le compilateur mappe implicitement les types fondamentaux C++/CX aux types C++ standard.

La Platform famille d’espaces de noms contient des types qui implémentent des types Windows Runtime fondamentaux.
bool bool Valeur booléenne de 8 bits.
wchar_t, char16_t char16 Valeur non numérique 16 bits qui représente un point de code Unicode (UTF-16).
short

unsigned short
int16

uint16
Entier signé 16 bits.

Entier non signé 16 bits.
int

unsigned int
int

uint32
Entier signé 32 bits.

Entier non signé 32 bits.
long long ou __int64

unsigned long long
int64

uint64
Entier signé 64 bits.

Entier 64 bits non signé.
float, double float32, float64 Nombre à virgule flottante IEEE 754 32 bits ou 64 bits.
enum enum class

-ou-

enum struct
Énumération de 32 bits.
(Ne s’applique pas) Platform::Guid Valeur non numérique de 128 bits (un GUID) dans l'espace de noms Platform .
std::time_get Windows::Foundation::DateTime Structure date-time.
(Ne s’applique pas) Windows::Foundation::TimeSpan Structure timespan.
(Ne s’applique pas) Platform::Object^ Objet de base comptabilisé par référence dans la vue C++ du système de type Windows Runtime.
std::wstring

L"..."
Platform::String^ Platform::String^ est une séquence de caractères Unicode représentant du texte, immuable et faisant l'objet d'un décompte de références.
Pointeur Pointeur vers un objet (*) :

std::shared_ptr
Handle-to-object (^, prononcé « chapeau ») :

T^ identifier
Toutes les classes Windows Runtime sont déclarées à l’aide du modificateur handle-to-object. Les membres de l'objet sont accessibles à l'aide de l'opérateur class-member-access flèche (->).

Le modificateur de chapeau signifie « pointeur vers un objet Windows Runtime qui est automatiquement référencé ». Plus précisément, handle-to-object déclare que le compilateur doit insérer du code pour gérer automatiquement le nombre de références de l’objet et supprimer l’objet si le nombre de références passe à zéro
Référence Référence à un objet (&) :

T& identifier
Suivi des références (%) :

T% identifier
Seuls les types Windows Runtime peuvent être déclarés à l’aide du modificateur de référence de suivi. Les membres de l'objet sont accessibles à l'aide de l'opérateur class-member-access point (.).

La référence de suivi signifie « référence à un objet Windows Runtime qui est automatiquement référencé ». Plus précisément, une référence de suivi déclare que le compilateur doit insérer du code pour gérer automatiquement le nombre de références de l’objet. Le code supprime l’objet si le nombre de références est égal à zéro.
déclaration de type dynamique new ref new Alloue un objet Windows Runtime, puis retourne un handle à cet objet.
gestion de la durée de vie d'un objet delete identifier

delete[] identifier
(Appelle le destructeur.) La durée de vie est déterminée par le décompte de références. Un appel pour delete appeler le destructeur, mais lui-même ne libère pas de mémoire.
Déclaration de tableau T identifier[]

std::array identifier
Array<T^>^ identifier( size )

-Ou-

WriteOnlyArray<T^> identifier( size )
Déclare un tableau modifiable unidimensionnel ou en écriture seule de type T^. Le tableau lui-même est également un objet faisant l'objet d'un décompte de références qui doit être déclaré à l'aide du modificateur handle-to-object.

(Les déclarations de tableau utilisent une classe d'en-tête de modèle qui se trouve dans l'espace de noms Platform .)
déclaration de classe class identifier {}

struct identifier {}
ref class identifier {}

ref struct identifier {}
Déclare une classe runtime qui a l’accessibilité par défaut private .

Déclare une classe runtime qui a l’accessibilité par défaut public .
déclarations de structure struct identifier {}

(qui est une structure POD (Plain Old Data Structure)
value class identifier {}

value struct identifier {}
Déclare un struct POD qui a l’accessibilité par défaut private .

Un value class peut être représenté dans les métadonnées Windows, mais un C++ class standard ne peut pas être.

Déclare un struct POD qui a l’accessibilité par défaut public .

Un value struct peut être représenté dans les métadonnées Windows, mais un C++ struct standard ne peut pas être.
déclaration d'interface classe abstraite qui contient uniquement des fonctions virtuelles pures. interface class identifier {}

interface struct identifier {}
Déclare une interface qui a l’accessibilité par défaut private .

Déclare une interface qui a l’accessibilité par défaut public .
Délégué(e) std::function public delegate return-type delegate-type-identifier ([ paramètres ]); Déclare un objet qui peut être appelé comme un appel de fonction.
Événement (Ne s’applique pas) event delegate-type-identifier event-identifier;

delegate-type-identifier delegate-identifier = ref new delegate-type-identifier( this[, paramètres]);

event-identifier += *delegate-identifier;

-ou-

EventRegistrationToken token-identifier = object.event-identifier += delegate-identifier;

-ou-

auto token-identifier = object.event-identifier::add( delegate-identifier );

object.event-identifier -= token-identifier;

-ou-

object.event-identifier::remove( token-identifier );
Déclare un event objet, qui stocke une collection de gestionnaires d’événements (délégués) qui sont appelés lorsqu’un événement se produit.

Crée un gestionnaire d'événements.

Ajoute un gestionnaire d'événements.

L’ajout d’un gestionnaire d’événements retourne un jeton d’événement (token-identifier). Si vous prévoyez de supprimer explicitement le gestionnaire d'événements, vous devez enregistrer le jeton d'événement pour l'utiliser ultérieurement.

Supprime un gestionnaire d'événements.

Pour supprimer un gestionnaire d'événements, vous devez spécifier le jeton d'événement que vous avez enregistré lorsque le gestionnaire d'événements a été ajouté.
Propriété (Ne s’applique pas) property T identifier;

property T identifier[ index ];

property T default[ index ];
Déclare qu'une fonction membre de classe ou d'objet est accessible en utilisant la même syntaxe qui est utilisée pour accéder à des données membres ou à un élément de tableau indexé.

Déclare une propriété sur une fonction membre de classe ou d'objet.

Déclare une propriété indexée sur une fonction membre d'objet.

Déclare une propriété indexée sur une fonction membre de classe.
Types paramétrables templates generic <typename T> interface class identifier {}

generic <typename T > delegate[return-type]delegate-identifier() {}
Déclare une classe d'interface paramétrée.

Déclare un délégué paramétré.
Types valeur Nullable std::optional<T> Platform::IBox <T> Permet aux variables de types scalaires et value de structs d’avoir la valeur nullptr.

Voir aussi

Informations de référence sur le langage C++/CX