Jest to słowo kluczowe w języku C#, COM ma je również w składni IDL. Odpowiednikiem w MSVC++ jest atrybut [out].
Ale nie, kompilator odrzuci to przy pomocy C3115, jeśli spróbujesz go użyć. Pamiętaj, że do pisania kodu używanego przez inne języki używasz rozszerzenia języka C++/CX. Co ogólnie bardzo źle wpływa na pojęcie [na zewnątrz]. Ani języki C++, Javascript ani .NET, takie jak vb.net, nie obsługują tego. Możesz to również zobaczyć w plikach .h w C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ WinRT, wygenerowany z plików .idl w tym samym katalogu, który ma atrybut [out]. Został usunięty z pliku .h przez midl.
Nie ma to znaczenia, ponieważ twój kod zostanie użyty w procesie, więc nie ma żadnych korzyści z [out] możliwości optymalizacji marszczenia wartości argumentu. Wystarczy prosty wskaźnik, aby wykonać zadanie. Konieczność zainicjowania wartości argumentu w kodzie C# jest jednak nieunikniona.
Są to adnotacje SAL i wpływają tylko na analizę statycznego kodu. W normalnej kompilacji oceniają na nic. –