Что такое _In_ в С++?
Я искал это довольно много, но не нашел полезных результатов.
В настоящее время я пытаюсь запрограммировать простую игру DirextX для Windows 8 Metro, и встретил _In_
довольно много. Мне просто интересно, что это такое.
Кроме того, я видел много использования ^
в качестве указателя *
, который я нашел нечетным. Кроме того, некоторые классы имеют интерфейс ref class MyClass
, который, я считаю, предназначен для читаемости на С#.
В любом случае любая помощь будет блестящей.
Ответы
Ответ 1
Это аннотация SAL, используемая для анализа кода. Сами аннотации определяются как макросы, которые в нормальных строках расширяются до нуля.
^
и ref class
являются функциями С++/CX, набор языковых расширений, разработанных для упрощения построения Metro стиль для Windows 8 на С++. Ни одна из них не является частью стандартного С++. Документация (связанная ранее) содержит ссылки на руководства и ссылки, описывающие языковые расширения.
Ответ 2
Я думаю (из быстрого google), что _in_
указывает, является ли параметр входным или выходным (_out_
) для функции/метода.
^
- управляемый указатель (указатель на сборщик мусора, связанный с С++/CLI).
Ответ 3
_Out_
означает аргумент, переданный как ссылка. _In_
означает противоположное. (_Out_ x)
и (&x)
похожи.