C++ cli C++/CLI中不同类型的类实例化器

C++ cli C++/CLI中不同类型的类实例化器,c++-cli,memory-management,C++ Cli,Memory Management,两者的区别是什么 Class1 class; 及 在C++/CLI中。它们的实现有何不同?第一个在非托管代码空间中实例化堆栈上的对象。这是标准的c/c++行为。编译器知道对象以字节为单位的bug,并在curent函数中移动堆栈指针以“分配”该内存。然后它将调用该类的构造函数 后者实例化托管堆上的对象,是的一个功能。在这里,对象是在CLR中创建和管理的。可以将CLR视为类似于Java虚拟机 这里有太多的东西要解释,但你需要理解.net,并看看事情是如何不同的 托管C++是微软引入的一组扩展C++

两者的区别是什么

Class1 class;


在C++/CLI中。它们的实现有何不同?

第一个在非托管代码空间中实例化堆栈上的对象。这是标准的c/c++行为。编译器知道对象以字节为单位的bug,并在curent函数中移动堆栈指针以“分配”该内存。然后它将调用该类的构造函数

后者实例化托管堆上的对象,是的一个功能。在这里,对象是在CLR中创建和管理的。可以将CLR视为类似于Java虚拟机

这里有太多的东西要解释,但你需要理解.net,并看看事情是如何不同的

托管C++是微软引入的一组扩展C++,用于允许非托管和托管的世界互操作。还有其他方法,如COM和重用非托管DLL P/Invoke。托管C++允许您在控制互操作方面具有更高的精度,同时允许您用C++语言编写.NET程序。


<>有好的管理C++教程。它试图连接世界

第一个仅模拟堆栈语义-对象仍在托管堆上分配,引用类型始终为。
Class1 class = gcnew Class1();