Я знаю, что код C ++ / CLI
void foo(Bar^% x);
превращается в
Void foo(ref Bar x);
. Что такое код C ++ / CLI, который становится
Void foo(out Bar x);
?
В C ++ / CLI нет такого специфического синтаксиса. Я думаю, вы можете приблизиться к этому, добавив OutAttribute
для изменения параметра. Но я не уверен, что он обеспечивает ту же семантику, что и C # out
.
Концепция out
по большей части ограничена C #. CLR действительно видит только параметры ref
. Я считаю, что концепция out
достигается с помощью mod opt, и большинство языков игнорируют это.