^ 在托管 C++ 中的正确用法
correct usage of ^ in managed C++
我目前正在开发 C++ 应用程序。我遇到了这个运算符:^
我猜是 不是 XOR,因为在给定的代码中,用法是这样的:
作为变量声明:
Dictionary<System::String^, List<int>^>^ Tomatoes;
或作为方法返回参数:
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++ 中的用途吗?它真的有必要吗?
谢谢!
C++/CLI中的^
运算符表示托管指针。所以 int*
是一个指向整数的原始指针,而 System::String^
是一个指向 CLI 字符串的托管指针。
所有 .Net 类 都必须通过托管指针或托管引用(我认为是 %
运算符)进行处理。所以是的,这是绝对必要的。实际上,它是 C++/CLI 最基本的部分之一。它不是普通 C++ 的一部分。
我目前正在开发 C++ 应用程序。我遇到了这个运算符:^
我猜是 不是 XOR,因为在给定的代码中,用法是这样的:
作为变量声明:
Dictionary<System::String^, List<int>^>^ Tomatoes;
或作为方法返回参数:
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++ 中的用途吗?它真的有必要吗?
谢谢!
C++/CLI中的^
运算符表示托管指针。所以 int*
是一个指向整数的原始指针,而 System::String^
是一个指向 CLI 字符串的托管指针。
所有 .Net 类 都必须通过托管指针或托管引用(我认为是 %
运算符)进行处理。所以是的,这是绝对必要的。实际上,它是 C++/CLI 最基本的部分之一。它不是普通 C++ 的一部分。