CLR编程,CLR 原理,CLR 内幕
CLR编程CLR的动态内存分配以不同的方式工作,CLR维护其独立于本地C++堆的内存堆。当我们不再需要在CLR堆上分配的内存时,CLR会自动将其删除。因此,我们不必在为CLR编写的程序中使用delete运算符。CLR还可以压缩内存堆,以避免不时产生的碎片。这样,CLR就消除了出现内存泄漏和内存碎片的可能性。CLR提供的堆管理和整理机制被称作垃圾回收(garbage collection)-- 垃圾即被抛弃的变量和对象,CLR管理的堆被称为可回收垃圾的堆(garbage-collected heap)。在C++/CLI程序中,使用gcnew运算符而非new运算符分配内存。前缀gc表明,我们是在可回收垃圾的堆上分配内存,而不是在一切整理工作都要编程人员负责的本地C++堆上。
用户评论