返回首页

动态分配内存当我们说,100个整数说

* X =新的int(1000);

那么整个内存块被分配在一次声明完成后?

我的意思是页错误的概念将进入图片来这里?

回答

评论会员:CPallini 时间:2012/02/06
sarfaraznawaz写道:: |
评论会员:游客 时间:2012/02/06
除了CPallini,"关于"页面故障问题,这是更为操作系统的问题。一个页面可能出现故障或不依赖于如何分配内存,并分散在分配的时间。在任何情况下,这是透明的程序:如果操作系统是能够重新内存分页,满足您的要求,那么你问(是的,块是连续的)。是否发生后,直接或物理空间格式化和交换,没有给予证据。如果操作系统是无法满足您的要求,一个std::bad_alloc异常抛出。{BR​​}默认情况下,这将终止程序,但你可以不同的方式处理(例如,您可能会通知用户的内存是低的,这样他就可以排除一些其他任务,让更多的内存可用,并回答您重试失败的操作)
| OriginalGriff:是的。在这种情况下,它是所有分配 - 因为int是一种原始的类型,它可以完成的请求。如果您已拨出100到整数的指针,该指针的空间也已分配立即 - 但不是整数他们指出