Динамические объекты создаются и уничтожаются в памяти «кучи» (heap) с помощью доступных программисту операторов new/delete. В порядке самообразования по С++ хотел бы уточнить следующие скрытые от нас подробности: 1. Действия по динамическому размещению полей данных объекта в куче выполняет прикладная программа или операционная система? 2. Если за размещение в куче ответственна ОС, то все ли из ОС поддерживают динамические объекты (и в частности для встраиваемых систем)? И как в таком случае обслуживается одновременная работа нескольких активных на данный момент программ с общей кучей, или у каждой программы своя куча? 3. Если полей данных у конкретного объекта много, то его данные размещаются в памяти непрерывно или с разрывами (перескоками), в зависимости от текущего состояния кучи ? 4. Что можно почитать на эту тему по-подробней?
|