所以我在WinApi
中偶然发现了这个功能public:
static array<Process^>^ GetProcessesByName(
String^ processName
)
^
代表什么?看起来很奇怪从来没有见过这个。
答案 0 :(得分:2)
这是C ++ / CLI,^
用于引用(使用gcnew
分配)。引用是垃圾收集。
.NET Programming in Visual C++
在此特定示例中,该函数接受对字符串的引用,并返回对Process
的引用数组的引用。对于任何引用类型,必须使用^
(换句话说,您不能拥有该类型的非引用变量)。
正如评论中所指出的,这可能是C++/CX,但语法大致相同,但使用ref new
代替gcnew
。
答案 1 :(得分:0)
如前所述,在您的示例中,^
代表Microsoft的C ++ / CLI垃圾控制指针。
但是,在标准C ++中,^
是按位异或运算符^ 。
operator^
将其第一个操作数的每个位与其第二个操作数的相应位进行比较。如果一位为0而另一位为1,则相应的结果位设置为1.否则,相应的结果位设置为0.
#include <iostream>
int main() {
int a = 0x5555;
int b = 0xFFFF;
std::cout << std::hex << ( a ^ b ) << std::endl;
}
<强> Live Demo 强>