Хог цуглуулагч, устгагч хоёрын ялгаа

Агуулгын хүснэгт:

Хог цуглуулагч, устгагч хоёрын ялгаа
Хог цуглуулагч, устгагч хоёрын ялгаа

Видео: Хог цуглуулагч, устгагч хоёрын ялгаа

Видео: Хог цуглуулагч, устгагч хоёрын ялгаа
Видео: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Арванхоёрдугаар сар
Anonim

Гол ялгаа – Хог цуглуулагч ба устгагч

Ихэнх програмчлалын хэлүүд Объект хандалтат програмчлалыг дэмждэг. Энэ нь объект ашиглан программ хангамж бүтээх арга зүй юм. Объект нь класс ашиглан үүсгэгддэг тул энэ нь ангийн жишээ юм. Анги нь тухайн объект юунаас бүрдэх ёстойг тайлбарладаг. Объект үүсгэх үед санах ойг объектуудад зориулж хуваарилдаг. Хуваарилагдсан санах ойг програмын гүйцэтгэлийн төгсгөлд суллах хэрэгтэй бөгөөд энэ санах ойг өөр объектод дахин ашиглах хэрэгтэй. Java болон C. NET зэрэг програмчлалын хэлүүд санах ойн менежментэд хог цуглуулагч ашигладаг бол C, C++ зэрэг хэл нь програмистаас санах ойн менежментийг шаарддаг. Шаардлагатай хэмжээний санах ойг хуваарилж, гүйцэтгэлийн төгсгөлд санах ойг суллах ёстой. Хог цуглуулагч болон устгагчийг санах ойг чөлөөлөхөд ашигладаг. Хог цуглуулагч ба устгагч хоёрын гол ялгаа нь хог цуглуулагч нь санах ойн автомат удирдлагыг гүйцэтгэдэг программ хангамж бөгөөд устгагч нь объектыг устгах явцад хог цуглуулагчийн дууддаг тусгай арга юм.

Хог цуглуулагч гэж юу вэ?

Зарим програмчлалын хэлэнд кодын орчинг удирддаг. Програмчлалын Java болон C хэл дээр санах ойн автомат менежментийг гүйцэтгэдэг. Програмист нь объектуудын ашигладаг санах ойг суллах шаардлагагүй. Санах ойн удирдлагыг автоматаар гүйцэтгэдэг тул нарийн төвөгтэй системийг ч хөгжүүлэх нь тэдэнд илүү хялбар байдаг. C, C++, Objective C зэрэг програмчлалын хэлүүдэд програм нь объектуудын санах ойг систем рүү буцаан гаргах ёстой. Java, C зэрэг хэлүүд ашиглагдахгүй байгаа объектуудыг олох боломжтой. Дараа нь тэдгээр объектуудад хуваарилсан санах ойг систем рүү буцаан гаргадаг.

Програмчлалын C болон Java хэлэнд Student гэсэн анги байвал Student s=new Student () ашиглан объект үүсгэж болно; "Шинэ" нь Оюутны ангийн жишээг үүсгэхэд хэрэглэгддэг. Энэ нь санах ойг системд хуваарилдаг. "S" нь тухайн объектод хуваарилагдсан санах ойн блокыг хэлж байна. Хэлний орчин нь тухайн объектуудыг ашиглаж байгаа эсэхийг тодорхойлдог. Хэрэв тэдгээрийг цаашид ашиглахгүй бол санах ой чөлөөлөгдөж, дараа нь ашиглах боломжтой.

Хог цуглуулагч ба устгагч хоёрын ялгаа
Хог цуглуулагч ба устгагч хоёрын ялгаа

Зураг 01: Хог цуглуулагч ба устгагч

Хөтөлбөрийг ажиллуулах үед санах ойн блокуудыг системийн санах ойн сангаас хуваарилдаг. Дараа нь програм нь тухайн санах ойг ашиглан даалгавруудыг гүйцэтгэдэг. Програмын гүйцэтгэл дуусмагц хог цуглуулагч програмд зориулж хуваарилагдсан санах ойн блокууд чухал эсэхийг олж мэдэх болно. Хэрэв шаардлагагүй бол санах ойн блокуудыг систем рүү буцаана. Тиймээс, хог цуглуулагч програм доторх үүсгэсэн объектуудыг хянах боломжтой. Шаардлагагүй болсон санах ойн блокуудыг системийн санах ойн сан руу буцааж илгээдэг. Энэ процессын гол давуу тал нь программист санах ойн хуваарилалтад анхаарлаа төвлөрүүлэх шаардлагагүй гэдгийг батлах явдал юм. Энэ нь гүйцэтгэл болон санах ойн хэрэглээг тэнцвэржүүлдэг.

Устгагч гэж юу вэ?

Устгагч нь ангийн тусгай гишүүн функц юм. Объект хамрах хүрээнээс гарах болгонд дуудагдана. Функц дуусах эсвэл програмын гүйцэтгэлийн төгсгөлд объектыг устгаж болно. Устгагч нь ангийн нэртэй ижил нэртэй байна. Объектыг үүсгэхийн тулд бүтээгчийг ашигладаг. Энэ нь параметрүүдийг хүлээн авах боломжтой. Бүтээгч нь буцах утгатай байж болно. Харин Destructor-д буцаах төрөл эсвэл хүлээн авах параметр байхгүй. Анги нь зөвхөн нэг устгагчаас бүрдэх боломжтой. Устгагчийг tilde тэмдгийг ашиглана. Хэрэв ангийн нэр нь Оюутан бол устгагч нь ~Оюутан () {} болно.

Хог цуглуулагч цаашид шаардлагагүй объектуудыг хайдаг. Энэ нь программ ашиглахаа больсон объектуудыг устгахыг баталгаажуулдаг. Энэ нь санах ойг чөлөөлж, нөөцийг хуваарилахын тулд устгагчийг дууддаг. Устгагч нь санах ойг чөлөөлөх, файлуудыг хаах, сүлжээний нөөцийг чөлөөлөх, мэдээллийн сангийн холболтыг хаахад тустай. Ихэнх програмчлалын хэлэнд хог цуглуулагч өөрөө анхдагч бүтээгчийг дууддаг тул устгагчийг бичих шаардлагагүй. Хэрэв програмист C++ гэх мэт хэл дээрх заагч ашиглан динамик санах ойн хуваарилалт хийсэн бол объектыг устгахаас өмнө санах ойг суллах устгагч бичих ёстой.

Хог цуглуулагч болон устгагч хоёрын ижил төстэй зүйл юу вэ?

Хог цуглуулагч болон устгагч хоёулаа программд шаардлагагүй санах ойг гаргахад ашиглагддаг

Хог цуглуулагч, устгагч хоёрын ялгаа юу вэ?

Хог цуглуулагч ба устгагч

Хог цуглуулагч нь санах ойг автоматаар удирдах программ юм. Устгагч нь объектыг устгах явцад хог цуглуулагчийн дууддаг тусгай арга юм.
Төрөл
Хог цуглуулагч нь программ хангамж юм. Устгагч нь арга юм.

Хураангуй – Хог цуглуулагч ба устгагч

Хог цуглуулагч болон устгагч нь санах ойг чөлөөлөхтэй холбоотой хоёр нэр томъёо юм. Энэ нийтлэлд хог цуглуулагч ба устгагч хоёрын ялгааг авч үзсэн. Хог цуглуулагч, устгагч хоёрын ялгаа нь хог цуглуулагч нь санах ойн автомат удирдлагыг гүйцэтгэдэг программ хангамж бөгөөд устгагч нь объектыг устгах явцад хог цуглуулагчийн дууддаг тусгай арга юм.

Хог цуглуулагч ба Устгагчийн PDF файлыг татаж авах

Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу: Хог цуглуулагч ба устгагч хоёрын ялгаа

Зөвлөмж болгож буй: