2

我理解在 C 中,运算符 ^ 用于按位 EX-OR。在其中一个 C++ 代码中,我看到了使用此运算符的以下行:

 using namespace System::Threading;
 public ref class Expert : public System::Windows::Forms::Form
{
    int i ;
        float a ;


public:
    int count;
    Thread^ th;

     }

这里的 ^ 是什么意思?

4

4 回答 4

5

这不是 C++,它是 C++ 的一个变体,名为 C++/CLI,并且是 Microsoft 扩展,用于在 C++ 中创建托管 .NET 应用程序。

像这样使用^时确实表示托管指针,即可以被垃圾收集的内存。

于 2012-11-16T12:58:16.317 回答
3

这是C++/CLI中的 .net 引用类型!也就是说,Expert::th 是对System.Threading.Thread(or null) 实例的引用。您还可以通过它继承自 .net 类的事实来判断它是 C++/CLI。

于 2012-11-16T12:56:32.007 回答
3

那不是 C++,那是 C++/CLI。代表“^句柄”,就像一个托管指针。

于 2012-11-16T12:56:41.320 回答
3

您还将在 C++/CX 中看到 ^(“帽子”)符号,它是带有一组扩展的 C++,可帮助支持 Windows 8 (WinRT) 开发。

http://en.wikipedia.org/wiki/C%2B%2B/CX

http://en.wikipedia.org/wiki/WinRT#C.2B.2B_.28WRL.2C_Component_Extensions.29

于 2012-11-16T12:57:39.953 回答