Это ручное управление памятью в чистом виде.
Давай выражение "в чистом виде" оставим для обозначения случая когда сохраняется возможность порчи памяти. Размещение объектов на массивах структур безопасно - порчу памяти вызвать не может. Надо эти градации ручного управления как-то различать.
Ну, саму память испортить достаточно сложно (хотя флеш-память в МК я пожалуй смогу убить за несколько дней).
А вот получить по данному индексу/идентификатору не тот объект который ожидаешь (кто-то уже переиспользовал эту ячейку массива объектов) - вполне можно. И это вполне эквивалентно тому, если бы скажем в C++ для объектов некоторого типа я отведу средствами ОС отдельное адресное пространство (то есть как в нем ни гадь, ничего не затрешь из того что вне его), написал свой аллокатор/менеджер памяти для этого адресного пространства, и стал бы там ручками манипулировать (руками new, руками delete).
То есть отличие конечно есть. И градации нужно проводить. Но и общее в этих подходах также имеется. Причем общего больше чем различного.
Программ общего назначения не бывает :-) Наверно ты хотел сказать - интерактивных программ которые работают на персональном компьютере (сюда же конечно входят и телефоны со смартфонами и планшетники).
Да, я имел в виду что-то вроде этого. Надо было сказать для рантаймов общего назначения. В частности рантаймы дотнета, явы или блэкбокса должны уметь возвращать память обратно в ОС. Правда рантайм блэкбокса так этому и не научился до сих пор...
Это да. Кстати, поскольку ява больше ориентировалась на сервера (долгое время) странички памяти обратно системе отдавать она научилась довольно недавно - лет шесть-семь назад. Ну и, помню, в Borland C++ Builder'e 6.0 тоже была эта беда, и, видимо в соответствующей делфи тоже. Впрочем народ-делфисты быстро написали свой менеджер памяти который полностью заменяет борландовский стандартный. И счастье наступило (народный менеджер работает быстрее и странички возвращает).