Qu’est-ce que _In_ en C ++?

J’ai beaucoup cherché, mais je n’ai obtenu aucun résultat utile.

J’essaie actuellement de programmer un jeu simple DirextX pour Windows 8 Metro et j’ai rencontré beaucoup de _In_ . Je me demande simplement ce que c’est.

De plus, j’ai souvent vu l’utilisation de ^ comme pointeur * que j’ai trouvé étrange. En plus de cela, certaines classes ont une interface de ref class MyClass de ref class MyClass , ce qui, je crois, est pour la lisibilité en C #.

De toute façon, toute aide serait géniale.

C’est une annotation SAL , utilisée pour l’parsing de code. Les annotations elles-mêmes sont définies comme des macros qui, dans les versions normales, ne développent rien.

Les ref class ^ et ref class sont des fonctionnalités de C ++ / CX , un ensemble d’extensions de langage développées pour faciliter la création d’applications de style Metro pour Windows 8 en C ++. Ni l’un ni l’autre ne font partie du C ++ standard. La documentation (liée précédemment) contient des liens vers des tutoriels et des références décrivant les extensions de langage.

Je pense (à partir d’un google rapide) que le _in_ est là pour indiquer si un paramètre est une entrée ou une sortie ( _out_ ) à une fonction / méthode.

Le ^ est un pointeur géré (pointeur récupéré, lié à C ++ / CLI).

_Out_ signifie que l’argument est passé comme référence. _In_ signifie le contraire. (_Out_ x) et (&x) sont similaires.