cor*_*zza 5 c c++ memory low-level
为了这个问题,我将内存描述为一个简单的字节数组,我将讨论堆内存,因为它可以动态分配它.
让我们说我正在实例化一些类,并在堆上创建一个已经分配了一些内存的对象.然后,在创建对象之后,我分配了更多的内存(可能通过实例化另一个类).当然,这意味着使用new和delete关键字.
内存现在看起来像这样:
... byte byte my_object ... my_object byte byte ...
delete my_object;执行时到底发生了什么?是否所有其他记忆都向左移动sizeof(MyClass)?如果是这样,由谁?操作系统?那么当没有操作系统提供虚拟内存时会发生什么?