C#通过new关键字向CLR申请的内存空间位于托管堆。C++通过new关键字向操作系统申请的内存空间位于非托管堆。C语言通过
malloc
free向操作系统申请的内存空间也位于非托管堆。C#的
new关键字更像是对C++的
new关键字的封装。