首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

关于Visual C++.Net托管程序的一系列有关问题

2012-12-25 
关于Visual C++.Net托管程序的一系列问题?1.Visual C++.Net执行托管程序代码,实现了由CLR来动态管理内存,

关于Visual C++.Net托管程序的一系列问题?
1.Visual C++.Net执行托管程序代码,实现了由CLR来动态管理内存,其中比如用String ^p = gcnew String("Test");中是不是p其实也是指针,^号只是用于区别标准C++的*,那么p是存在栈中,指向存在于堆中的“Test”,总结一句话^与*的区别仅仅在于一个用于CLR的托管,一个要自己实现管理内存,这样理解对吗?

2.还有在对值类型对象进行装箱时,会在托管堆中建立一个新对象,并将值类型的值复制到新对象中。
那么我想问,那么原始对象是不是就被删除了?
Exp:
   int i = 123;
    Object ^0 = i;
是不是在托管的堆中开辟一块空间与i一样,把i的值都复制过去,接着让o指向这块空间。但是原来的i所在空间删除了么?,如果删除了,那我要是在用i变量岂不是会出错,如果没删除,那么岂不是会有歧义,用指针修改指向的空间但是i的值还是不变??。还有如果o相当于指针,那么如何像标准C++中通过*来修改其指向的值。

Help me。。。。
[解决办法]
ArrayList.Add(1);

1.ToString();

1.GetHashCode();

...

热点排行