Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
REFERAT / Dinamikalıq yadtı ajıratıw.docx
Скачиваний:
0
Добавлен:
14.01.2024
Размер:
110.77 Кб
Скачать

Bólek ózgeriwshilerdiń dinamikalıq bólistiriwi

Bir ózgeriwshin dinamikalıq túrde ajıratıw ushın biz jańa operatordıń ápiwayı (dızbek bolmaǵan ) formasından paydalanamız :

new int; // pútkil san ózgeriwshin dinamikalıq túrde ajıratıw (hám nátiyjeni bıykarlaw )

Joqarıdaǵı jaǵdayda biz operatsion sistemadan pútkil ózgeriwshi ushın yad kólemin so'raymiz. Jańa operator bul yad járdeminde ob'ekt jaratadı hám keyin ajıratılǵan yad adresin óz ishine alǵan kórsetkishni qaytaradı.

Kóbinese, biz qaytıp keletuǵın bahanı óz kórsetkish ózgeriwshimizge tayınlaymız, sonda biz ajıratılǵan yadqa keyin kirey alamız.

Eger ilgeri kórsetkishler qashan paydalı ekenligi anıq bolmasa, endi keminde bir jaǵday anıq bolıwı kerek. Házirgina ajıratılǵan yad adresin óz ishine alǵan kórsetkishsiz biz ushın ajıratılǵan yadqa kirisiw múmkinshiligi bolmaydı!

Dinamikalıq yadtı bólistiriw qanday isleydi?

Sizdiń kompyuterińizda qosımshalar tárepinen paydalanıw múmkin bolǵan yad ámeldegi (itimal júdá kóp). Qosımshanı jumısqa túsirganingizda, operatsion sistemasıńız programmanı bul yaddıń bir bólegine júkleydi. Qosımshańız tárepinen paydalaniletuǵın bul yad túrli tarawlarǵa bólingen, olardıń hár biri basqa maqsetke xızmet etedi. Bir aymaqta kodıńız bar. Basqa aymaq ápiwayı operatsiyalar ushın isletiledi (qaysı funksiyalar shaqırilganligini baqlaw, global hám jergilikli ózgeriwshilerdi jaratıw hám joq etiw hám taǵı basqa ). Bul haqqında keyin soylesemiz. Biraq, ámeldegi yaddıń kóp bólegi jaysha onı talap etetuǵın programmalarǵa ótkeriliwin kútip atır.

Yadtı dinamikalıq túrde bóliwlaganingizda, siz operatsion sistemadan bul yaddıń bir bólegin programmasıńız paydalanıwı ushın rezervlewdi so'raysiz. Eger ol bul sorawdı atqara alsa, ol bul yad adresin qosımshangizga qaytaradı. Endigiden qosımshańız bul yaddan ózi qálegenshe paydalanıwı múmkin. Qosımshańız bul yad járdeminde orınlanǵanda, ol basqa programmaǵa ótiw ushın onı operatsion sistemaǵa qaytarıwı múmkin.

Statikalıq yamasa avtomatikalıq yaddan ayrıqsha bolıp esaplanıw, programmanıń ózi dinamikalıq túrde ajıratılǵan yadtı soraw hám óshiriw ushın juwapker bolıp tabıladı.

Dinamikalıq túrde ajıratılǵan ózgeriwshin jumısqa túsiriw

Ózgeriwshin dinamikalıq túrde bóliwlaganingizda, onı tuwrıdan-tuwrı yamasa birlestirilgen (C++ 11 de) jumısqa túsiriw járdeminde de jumısqa túsiriwińiz múmkin:

int* ptr1{ new int (5) };

int* ptr2{ new int { 6 } };

Birden-bir ózgeriwshilerdi alıp taslaw

Biz dinamikalıq túrde ajıratılǵan ózgeriwshi menen islewdi tamamlaǵannan keyin, C++ ga yadtı qayta isletiw ushın bosatishni anıq aytiwimız kerek. Birden-bir ózgeriwshiler ushın bul de operatorınıń ápiwayı (dızbekler ushın emes) forması járdeminde ámelge asıriladı (delete operatori)

Yadtı " óshiriw" neni ańlatadı?

Óshiriw operatorı tiykarınan hesh nárseni óshirmeydi. Bul jaysha belgilengen yadtı operatsion sistemaǵa qaytaradı. Keyin operatsion sistema bul yadtı basqa programmaǵa (yamasa keyinirek tap sol programmaǵa ) qayta belgilewi múmkin.

Eger biz ózgeriwshin óshirayotganga uqsaymiz, lekin joq! Kórsetkish ózgeriwshisi aldınǵı sıyaqlı birdey qamrovga iye hám basqa hár qanday ózgeriwshi sıyaqlı jańa baha tayınlanıwı múmkin.

Dinamikalıq túrde ajıratılǵan yadqa belgi etpeytuǵın kórsetkishni óshiriw jamanlıqlarǵa alıp keliwi múmkinligin unutpań.

Соседние файлы в папке REFERAT