What is _In_ in C++?

≡放荡痞女 提交于 2019-12-18 12:09:19

问题


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 across _In_ rather a lot. I'm just wondering what it is.

Also, I have seen a lot of the use of ^ as the pointer * which I found odd. On top of this, some classes have an interface of ref class MyClass, which I believe is for C# legibility.

Anyway, any help would be brilliant.


回答1:


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.




回答2:


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).




回答3:


_Out_ means argument passed as reference. _In_ means the opposite. (_Out_ x) and (&x) are similar.



来源:https://stackoverflow.com/questions/11457328/what-is-in-in-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!