在托管C ++中正确使用^

时间:2018-12-14 11:05:00

标签: c++-cli

我目前正在使用C ++应用程序。我遇到了这个运算符:^

在我看来,这不是 XOR ,因为在给定的代码中用法如下:

作为变量声明:

Dictionary<System::String^, List<int>^>^ Tomatoes;

或作为Method返回参数:

Food::Vegetable^ Vegetable_Create(List<KeyValuePair<int, Dictionary<System::String^, float>^>>^ a, List<KeyValuePair<System::String^, Food::Cucumber^>>^ b, Dictionary<System::String^, float>^ c);

我想知道^运算符的实际用途。

您知道^运算符在C ++中的用途是什么,真的有必要吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

C ++ / CLI中的^运算符表示托管指针。因此,int*是指向整数的原始指针,而System::String^是指向CLI字符串的托管指针。

所有.Net类都必须通过托管指针或托管引用(我认为是%运算符)来处理。因此,是绝对必要的。实际上,它是C ++ / CLI的最基本部分之一。它不是普通C ++的一部分。