6-mavzu: C++ dasturlash tili bilan tanishish tayanch atamalar
Avtomatik saqlash muddati obektlari
Download 115.83 Kb.
|
2G.T.Aqbilek
- Bu sahifa navigatsiya:
- Shablonlar
Avtomatik saqlash muddati obektlari
C++ da eng keng tarqalgan oʻzgaruvchilar turlari funksiya yoki blok ichidagi mahalliy oʻzgaruvchilar va vaqtinchalik oʻzgaruvchilardir. Avtomatik oʻzgaruvchilarning umumiy xususiyati shundaki, ular oʻzgaruvchi doirasi bilan chegaralangan umrga ega. Ular deklaratsiya nuqtasida yaratiladi va potentsial ishga tushiriladi va qo'llanish doirasi qolganda yaratishning teskari tartibida yo'q qilinadi. Mahalliy o'zgaruvchilar bajarilish nuqtasi deklaratsiya nuqtasidan o'tganda yaratiladi. Agar o'zgaruvchida konstruktor yoki ishga tushiruvchi bo'lsa, bu ob'ektning boshlang'ich holatini aniqlash uchun ishlatiladi. Mahalliy o'zgaruvchilar ular e'lon qilingan mahalliy blok yoki funktsiya yopilganda yo'q qilinadi. Mahalliy o'zgaruvchilar uchun C++ destruktorlari ob'ektning ishlash muddati oxirida chaqiriladi, bu esa C++ da keng qo'llaniladigan RAII deb nomlangan avtomatik manbalarni boshqarish intizomini yaratishga imkon beradi.A'zo o'zgaruvchilari asosiy ob'ekt yaratilganda yaratiladi. Massiv a'zolari 0 dan massivning oxirgi a'zosigacha tartibda inisializatsiya qilinadi. Asosiy ob'ekt yaratishning teskari tartibida yo'q qilinganda a'zo o'zgaruvchilar yo'q qilinadi. Ya'ni, agar ota-ona "avtomatik ob'ekt" bo'lsa, u barcha a'zolarining yo'q qilinishiga olib keladigan doiradan chiqib ketganda yo'q qilinadi.Vaqtinchalik o'zgaruvchilar ifodani baholash natijasida yaratiladi va ifodani o'z ichiga olgan bayonot to'liq baholanganda yo'q qilinadi. ShablonlarC++ shablonlari umumiy dasturlashni ta'minlaydi . C++ funksiya, sinf, taxallus va o'zgaruvchan shablonlarni qo'llab-quvvatlaydi. Shablonlar turlar, kompilyatsiya vaqti konstantalari va boshqa shablonlar bo'yicha parametrlangan bo'lishi mumkin. Shablonlar kompilyatsiya vaqtida instantsiya orqali amalga oshiriladi . Shablonni yaratish uchun kompilyatorlar aniq funktsiya yoki sinf misolini yaratish uchun shablon parametrlarini maxsus argumentlar bilan almashtiradilar. Shablonlar umumiy dasturlash , shablonlarni metadasturlash uchun ishlatilishi mumkin bo'lgan kuchli vositadir va kodni optimallashtirish, lekin bu quvvat xarajatlarni nazarda tutadi. Shablonlar makroslardan farq qiladi: bu ikkala kompilyatsiya vaqtidagi til xususiyatlari shartli kompilyatsiya qilish imkonini bersa-da, andozalar leksik almashtirish bilan cheklanmaydi. Shablonlar o'z hamroh tilining semantikasi va tip tizimidan, shuningdek, kompilyatsiya vaqti turining barcha ta'riflaridan xabardor bo'lib, yuqori darajadagi operatsiyalarni, shu jumladan qat'iy turdagi tekshirilgan parametrlarni baholash asosida dasturiy oqimni boshqarishni amalga oshirishi mumkin. Makroslar oldindan belgilangan mezonlar asosida kompilyatsiyani shartli boshqarishga qodir, lekin yangi turlarni yaratish, takrorlash yoki turlarni baholashni amalga oshira olmaydi va amalda kompilyatsiyadan oldingi matnni almashtirish va matnni kiritish/chiqarish bilan cheklanadi. Boshqacha qilib aytganda, makroslar oldindan belgilangan belgilar asosida kompilyatsiya oqimini boshqarishi mumkin, lekin shablonlardan farqli o'laroq, mustaqil ravishda yangi belgilarni yarata olmaydi. Shablonlar statik uchun vositadir polimorfizm va umumiy dasturlash. Xulosa qilib aytadigan bo'lsak, shablon kompilyatsiya vaqtida parametrlangan funksiya yoki uni yaratish uchun ishlatiladigan maxsus argumentlarni bilmasdan yozilgan sinfdir. Instantsiyadan so'ng, olingan kod maxsus o'tkazilgan argumentlar uchun yozilgan kodga teng bo'ladi. Shu tarzda, andozalar funksiyalar va sinflarning umumiy, keng qoʻllanilishi mumkin boʻlgan jihatlarini mavhumlik tufayli ishlashni yoʻqotmasdan, muayyan jihatlardan ajratish yoʻlini taqdim etadi. Download 115.83 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling