我理解在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;
}
^这里是什么意思?
答案 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