2013-10-07 4 views
-3

В одном из интервью я спросил, чтовнутренняя работа по размещению новых?

Предположим, что у вас есть 25 МБ памяти и у вас есть три процесса 10 МБ каждый. Как заверить, что ваш процесс не должен заканчиваться из памяти?

Я ответил, что если я использую placement new, он выдержит. Они спросили меня, как вы относитесь placement new к realloc?

Я хочу знать, placement new действительно связан с realloc?

+0

-1: прочитайте wikipage на [размещение новых] (http://en.wikipedia.org/wiki/Placement_syntax) –

+0

Вопрос о интервью был не вопросом C++, а вопросом операционной системы. Вы дали ответ на C++, поэтому интервьюер, вероятно, задавался вопросом, понимаете ли вы, какое место занимало новое место, так что у вас есть кривый шар для последующего вопроса. – jxh

+0

Почему вы хотите удалить свой профиль? На данный момент вы полностью анонимны, и нет ничего смущающего в вашем вопросе. –

ответ

1

realloc действительно не применим с размещением новых товаров. Поскольку память может оказаться в новом месте, любые указатели, ссылающиеся на объект, становятся недействительными, особенно указатели, содержащиеся в самих объектах. Например, подумайте о связанном списке.

Интервьюер, вероятно, искал упоминание виртуальной памяти.

Смежные вопросы