代码之家  ›  专栏  ›  技术社区  ›  Alexandre C.

C++/CLI中的REF和OUT

  •  29
  • Alexandre C.  · 技术社区  · 14 年前

    我知道C++/CLI代码

    void foo(Bar^% x);
    

    变换成

    Void foo(ref Bar x);
    

    什么是C++/CLI代码?

    Void foo(out Bar x);
    

    ?

    2 回复  |  直到 13 年前
        1
  •  41
  •   Yochai Timmer    13 年前

    可以使用outattribute:

    using namespace System::Runtime::InteropServices;    
    void foo([Out] Bar^% x); 
    
        2
  •  8
  •   JaredPar    14 年前

    C++/CLI中没有这样的特定语法。我想你可以通过增加 OutAttribute 修改参数。但我不确定这是否达到了与C完全相同的语义。# out .

    概念 外面的 在很大程度上仅限于C。CLR只看到 ref 参数。这个 外面的 我相信概念是通过一个mod opt实现的,大多数语言都忽略了它。