Поскольку разреженное виртуальное адресное пространство хорошо . Разреженное адресное пространство позволяет ОС аварийно завершать работу программы, которая преследует (некоторые) дикие указатели, и делает практичными предварительно связанные общие библиотеки, и, возможно, наиболее полезной из всех, это позволяет вашему стеку расти из «верхнего» конца памяти и вашей кучи с "нижнего" конца. Конечно, вы можете определить индекс таблицы страниц как целое число со знаком , что позволит вам реализовать последнюю функцию с помощью простого массива.
Кроме того, подумайте о распределении «переполнение памяти» - когда вы выделяете несколько гигабайт, ОС может сказать «конечно, хорошо!», Зная, что большинство программ, которые запрашивают несколько гигабайт, оказывается, используют только небольшую их часть , У вас могут быть проблемы с поддержкой таких вещей с простым массивом, который не слишком велик.