/ / c ++ изтичане на памет и боклук - c ++, управление на паметта, изтичане на памет

C ++ изтичане на памет и боклук - C ++, управление на паметта, изтичане на памет

Виждам това, ако разпределим паметта динамичнов C ++, но не го управлявайте правилно, можем да имаме памет за боклук и по същество можем да изтечем паметта и е ясно защо се случва това. Тъй като, например, имаме указател, който сочи към адрес на паметта и ние го присвояваме на друго адресно пространство, преди да освободим текущия адрес, това е проблем. Но това, което не разбирам, е, че нека кажем, че имаме лоша програма, която продължава да добавя памет за боклука, но как всичко се връща към нормалното, когато приключим програмата. Ако например имаме памет за боклук, въведена с програма c ++, така че няма повече показалец, посочващ тази памет за боклука, и как след приключване на програмата се освобождава цялата памет за боклук? Как програмата знае как да почисти паметта на боклука преди програмата да се затвори?

Отговори:

3 за отговор № 1

Няма памет за боклук, не е вашата програмакойто разпределя и освобождава паметта. Нейната основна ос. Вие работите на върха на една организация, като използвате нейните услуги. Масовата памет и безплатният магазин са само абстракция, която тези услуги предоставят (Наред с други абстракции такива файлове, "Аз съм единственият процес, работещ в този уникален процесор" и т.н.)


1 за отговор № 2

В операционната система Windows операционната система изчиства всяка памет, която е била определена от процеса. Така че основно изхвърля пространството, което е било дадено на процеса, без да се интересува какво съдържа.