在修改它们的函数中传递CLI对象

时间:2013-07-18 10:45:45

标签: c++ c++-cli

我正在努力弄清楚这种类型的代码:

void changeString (String^% str)
{
    str = "New String";
}

为什么我需要将跟踪引用传递给对象的句柄?这太刺激了。 为什么句柄不够,句柄类似于c ++指针,所以为什么不......

由于

1 个答案:

答案 0 :(得分:4)

我相信这与C ++代码的精神没有区别:

void reset_foo(Foo * & p)
{
    p = new Foo;   // leeks, neeps and tatties
}

用法:

Foo * p;
reset_foo(p);

这反过来只是传递引用的一般概念的一个特例:

void set_int(int & n) { n = 10; }

int a;
set_int(a);
assert(a == 10);