2013-10-07 15 views
-3

在一個採訪中,我問內部工作的安置新?

假設你有25 MB的內存,你必須每10 MB的三個過程。如何確保您的流程不會耗盡內存?

我回復說,如果我使用placement new它會存活。他們問我你是如何聯繫placement newrealloc

我想知道的是placement new確實與realloc有關嗎?

+0

-1:請閱讀[放置新]上的wikipage(http://en.wikipedia.org/wiki/Placement_syntax) –

+0

面試問題不是C++問題,而是操作系統問題。你給了一個C++的答案,所以面試官可能想知道你是否理解了新的定位,所以你爲後續問題得到了一個曲線球。 – jxh

+0

你爲什麼要刪除你的個人資料?此時你完全是匿名的,對你的問題沒有任何尷尬。 –

回答

1

realloc對於新放置位置並不真正有效。由於內存可能會在一個新的位置結束,任何指向該對象的指針都將失效,特別是對象本身中包含的指針。例如,考慮一個鏈表。

面試官可能在尋找虛擬內存。