Здравствуйте, у меня вопрос почему память после оператора delete память так и остается задействована или я что то не так понимаю:
#include }
Про то, как надо удалять массивы, Вам уже написали. Напишу про то, почему сохраняется доступ к старым данным.
Даже если правильно удалять динамически выделенную память, то не всегда из кучи выгружаются подключенные страницы памяти, особенно если они в середине кучи. Просто они в помечаются как свободные и при повторном запросе на выделение памяти могут быть использованы, если хватает объема. Это ускоряет процесс динамического выделения памяти, которые является довольно ресурсоемким.
using namespace std;
int main(){
int *p=new int[10];
for(int i=0;i<10;i++){
p[i]=i;
}
delete [] p;//удаление массива
cout<Ответ
вторник, 30 октября 2018 г.
C++ динамическое выделение памяти
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий