如何在C ++中使用operator ^

时间:2012-11-16 12:54:12

标签: c++ c++-cli

我理解在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 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

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

答案 3 :(得分:3)

您还将在C ++ / CX中看到^(“hat”)符号,它是带有一组扩展的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