2012-08-19 57 views

回答

1

你在说这个代码?

Ping^pingSender = gcnew Ping; 

// When the PingCompleted event is raised, 
// the PingCompletedCallback method is called. 
pingSender->PingCompleted += gcnew PingCompletedEventHandler(PingCompletedCallback); 

在这里这意味着ping类的实例将从System.Net.NetworkInformation :: Ping创建。简单地说,这不是XOR操作,而是在C++ for .NET的微软实现中声明托管类型对象的语法。

+0

谢谢大家。 现在想出来。 – Krazibit312 2012-08-19 10:50:59

0

在此背景下,^不是按位异或的时候;它声明pingSender是对托管类型(原生为.NET的一种类型)的引用Ping

我假定您熟悉C#和常规,非托管C++的基础知识。

这行代码等于

Ping pingSender = new Ping(); 

在C#,并且在壳体Ping是一个非托管C++类,

Ping* pingSender = new Ping; 
用C++

。如您所见,^在声明中使用时具有其他含义,就像*对C/C++中的非托管类型所做的一样。

+0

请注意,代码**不是C++ **,而是一个碰巧是C++的扩展的微软语言。 – 2012-08-19 10:45:19