Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cli 位运算符的某些用法不清楚_C++ Cli_Clr - Fatal编程技术网

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++的扩展。谢谢大家。我现在明白了。