我看到许多使用"Foo ^ bar"的C++示例 - 什么是"^"?

5 c++

这与.NET有关吗?它似乎是某种指针,有什么区别?

编辑:

我实际上知道它是XOR运算符,但是从这个页面看这个例子.

void objectCollection() {
    using namespace System::Collections;

    **ArrayList ^as = gcnew ArrayList;**

    //... }
Run Code Online (Sandbox Code Playgroud)

这是什么?

谢谢.

Tim*_*sch 14

我假设您正在查看表单的构造:

Foo ^bar = gcnew Foo();
Run Code Online (Sandbox Code Playgroud)

你是对的,在.NET中它是一个指针"喜欢"类型,它是C++/CLI的一部分,不是标准的ISO C++.

它是对垃圾收集的托管.NET对象的引用,而不是常规的非托管C++对象.

正如另一张海报建议的那样,在.NET世界之外或在非对象创建环境中,它是XOR运算符.


Kev*_*vin 5

在C++中,这是XOR运算符.