【发布时间】:2015-02-24 23:37:12
【问题描述】:
我只是对 C++/CLI 句柄(^)及其工作原理感到好奇。例如:
我无法理解的第一件事是,over here 接受的答案说插入符号是 *(指针)的托管等效项。但是,与 * 不同的是,我可以直接为 ^ 赋值。
int ^num;
num = 4;
这在 C++ 中不起作用:
int *num2;
num2 = new int[1];
num2 = 10;
为什么会观察到这种行为? 此外,在 Microsoft Webpage 中,他们说您不能指向对象的成员,并且它不支持指针算术。所以下面的代码 sn-p 都会编译失败
int ^num3 = gcnew int[10];
for(int i = 0; i<10; i++)
%(num3 + i) = i
或
for(int i = 0; i<10; i++)
(num3 + i) = i
为什么???
这让我想到了最后一个问题:在 C++/CLI 中遵循 int 本机/普通 C++ 代码 sn-p 相当于什么?
int *array1;
array1 = new int[ 10];
for( int i = 0; i < 10; i++)
*(array1 + i ) = i;
【问题讨论】:
标签: visual-c++ c++-cli