我在 cpp 中阅读了一些代码,发现了一些类似的代码
<classname>^ instancename
最佳答案
它代表一个托管指针,^ 指向一个垃圾收集对象(由框架处理)。
您可以查看 this更多细节
In Visual C++ 2002 and Visual C++ 2003, __gc * was used to declare a managed pointer. This is replaced with a ^ in Visual C++ 2005, for example ArrayList^ al = gcnew ArrayList();.
NativeObject* n = new NativeObject();
ManagedObject^ m = gcnew ManagedObject();
// mcppv2_handle.cpp
// compile with: /clr
ref class MyClass {
public:
MyClass() : i(){}
int i;
void Test() {
i++;
System::Console::WriteLine(i);
}
};
int main() {
MyClass ^ p_MyClass = gcnew MyClass;
p_MyClass->Test();
MyClass ^ p_MyClass2;
p_MyClass2 = p_MyClass;
p_MyClass = nullptr;
p_MyClass2->Test();
}
关于c++-cli - '^' 与 Cpp 中的类名的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23356059/