I have searched this up rather a lot, but come up with no helpful results.
I am currently trying to program simple DirextX game for Windows 8 Metro, and have come ac
It is a SAL annotation, used for code analysis. The annotations themselves are defined as macros that, in normal builds, expand to nothing.
The ^ and ref class are features of C++/CX, a set of language extensions developed to make it easier to build Metro style apps for Windows 8 in C++. Neither is a part of standard C++. The documentation (linked previously) has links to tutorials and references describing the language extensions.
_Out_ means argument passed as reference. _In_ means the opposite. (_Out_ x) and (&x) are similar.
I think (from a quick google) that the _in_ is there to indicate if a parameter is an input or output (_out_) to a function/method.
The ^ is a managed pointer (garbage collected pointer, related to C++/CLI).