C++ cli 位运算符的某些用法不清楚
为什么在声明此变量时,按位运算符在变量名之前C++ cli 位运算符的某些用法不清楚,c++-cli,clr,C++ Cli,Clr,为什么在声明此变量时,按位运算符在变量名之前 Ping ^pingSender = gcnew Ping; 谢谢在本文中,^不是按位异或;它将pingSender声明为对托管类型(一种.NET本机类型)的引用Ping 我假设您熟悉C语言和正则非托管C++的基础知识。 这行代码等于 Ping pingSender = new Ping(); < > >,在 ping < /COD>是非托管C++类, Ping* pingSender = new Ping; C++中的P>正如您所看到的,^在
Ping ^pingSender = gcnew Ping;
谢谢在本文中,
^
不是按位异或;它将pingSender
声明为对托管类型(一种.NET本机类型)的引用Ping
我假设您熟悉C语言和正则非托管C++的基础知识。 这行代码等于
Ping pingSender = new Ping();
< > >,在<代码> ping < /COD>是非托管C++类,
Ping* pingSender = new Ping;
C++中的P>正如您所看到的,
^
在声明中使用时有另一种含义,正如*
在C/C++中对非托管类型所做的一样。您所说的是这段代码
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++实现中对托管类型对象的语法声明。这不是XOR,而是基于.NET的C++,CLINote认为代码不是C++,而是微软语言,恰好是C++的扩展。谢谢大家。我现在明白了。