Тилига кириш услубий қўлланма


Дастур самарадорлигини ошириш мақсадида ҳаволаларнинг ишлатилиши


Download 0.87 Mb.
bet81/88
Sana18.03.2023
Hajmi0.87 Mb.
#1282045
1   ...   77   78   79   80   81   82   83   84   ...   88
Bog'liq
C o\'rganish uchun yaxshi

Дастур самарадорлигини ошириш мақсадида ҳаволаларнинг ишлатилиши


Функцияга ҳар сафар объектни қиймат сифатида узатишда бу объектнинг нусхаси тузилади. Функция объектни қиймат сифатида қайтаришда ҳам яна бирта нусха тузилади.


5 – мавзудан маълумки, бу объект нусхалари стекка кўчирилади ва бу жараён учун вақт ҳамда хотира сарф қилинади. Таянч бутун сонли қийматларга ўхшаган кичик объектлар учун бундай сарфларнинг қиймати билинмайди.
Лекин фойдаланувчи томонидан тузиладиган катта объектлар учун сарф қилинадиган ресурслар сезиларли даражада ўсади. Стекка ёзиладиган бундай объектнинг ўлчами унинг барча ўзгарувчи – аъзоларининг йиғиндисини ташкил этади. Бунда ҳар бир ўзгарувчи – аъзо яна бир мураккаб объект бўлиши ҳам мумкин. Шунинг учун бундай катта структураларни стекка кўчиришда катта хотира ва вақт талаб қилади.
Бундан ташқари бошқа сарфлар ҳам мавжуд. Синф объектининг вақтинчалик нусхасини тузиш учун компилятор махсус конструктор – кўчирувчини чақиради. Конструктор – кўчирувчининг ишлаши, қандай қилиб хусусий конструктор - кўчирувчини яратиш каби масалалари билан кейинги машғулотларда танишамиз. Ҳозир эса конструктор – кўчирувчи объектнинг вақтинчалик нусхаси стекка кўчирилишида чақирилишини билишимиз етарлидир. Объектнинг вақтинчалик нусхасини стекдан ўчириш учун синф деструктори чақирилади. Агарда функция объектни қиймат сифатида қайтарса олдин бу объектнинг вақтинчалик нусхаси тузилади, кейин эса у ўчирилади. Катта объектлар билан ишлаганда бундай конструктор ва деструкторларни чақирилиши дастурнинг ишлаш тезлиги ва компьютер хотирасидан фойдаланишига жуда катта таъсир қилади. Бу ғояни намойиш қилиш учун 9.10. – листингда SimpleCat фойдаланувчи объекти тузилган. Мисолда
кўчирувчи–конструктор ва деструкторларни қанчалик тез – тез чақирилишини кўрсатилган.
Демак, 9.10 – листингда SimpleCat объекти тузилади, ундан сўнг иккита функция чақирилади. Биринчи функция Cat синфи объектини қиймат сифатида қабул қилади ва қиймат сифатида қайтаради. Иккинчиси функция эса объектни ўзини эмас, балки унга кўрсатгични қиймат сифатида қабул қилади ва узатади.



Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   ...   77   78   79   80   81   82   83   84   ...   88




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling