在C#中,通过引用传递:
void MyFunction(ref Dog dog)
Run Code Online (Sandbox Code Playgroud)
但是到目前为止我看到的C++/CLI代码示例中没有使用ref但是使用了^符号:
void MyFunction(Dog ^ dog)
Run Code Online (Sandbox Code Playgroud)
参数传递时是否使用^符号直接替换ref?还是有其他一些我不知道的含义?
附加问题:我也看到了很多:
Dog ^ myDog = gcnew Dog();
Run Code Online (Sandbox Code Playgroud)
看起来它*在C++中像(指针)一样使用.它的工作原理是否类似?
谢谢!
ild*_*arn 32
如果Dog是引用类型(class在C#中),则C++/CLI等效项为:
void MyFunction(Dog^% dog)
Run Code Online (Sandbox Code Playgroud)
如果Dog是值类型(struct在C#中),则C++/CLI等效项为:
void MyFunction(Dog% dog)
Run Code Online (Sandbox Code Playgroud)
作为类型装饰器,^大致与*C++ %相关,并且大致与&C++ 相关.
作为一元运算符,您通常仍需要*在C++中使用C++/CLI *,但通常需要%在C++中使用C++/CLI &.
| 归档时间: |
|
| 查看次数: |
21912 次 |
| 最近记录: |