And*_*Eve 27 .net c++-cli visual-c++
当我在岩石下睡觉时,有一个新的符号加入了C++语言规范吗?
我刚刚遇到以下问题:
这表明'^'符号在某种程度上是C++的一部分(不是按位XOR的遗留意义)
是这样吗?
如果是这样,这是什么意思?(我试图谷歌问题,但谷歌没有得到满意的答案)
Mar*_*age 35
在C++中,"^"符号是按位异或(xor)运算符.对于一个位,你有0 ^ 0 = 1 ^ 1 = 0和0 ^ 1 = 1 ^ 0 = 1.
但是,在您提到的问题中,它是.NET平台上C++开发的Microsoft特殊语法的一部分,称为C++/CLI或It Just Works.
.NET上的内存被垃圾收集,并且必须跟踪对对象的引用.这使得无法使用普通的C++指针引用这些对象.Microsoft决定重用"^"符号来声明一个类似于可以引用托管堆上的对象的指针的变量.
Nic*_*wis 15
在Visual C++中,^表示托管对象的句柄.基本上C#中的内容是一个参考.分配它们gcnew而不是new,它们将被垃圾收集.这就是Visual C++与CLI交互的方式.
| 归档时间: |
|
| 查看次数: |
31077 次 |
| 最近记录: |