|
Shablonlarning standart kutubxonasi va undan dastur yozishda foydalanishga misollar keltiring?
|
bet | 24/71 | Sana | 18.12.2023 | Hajmi | 5,63 Mb. | | #122750 |
Bog'liq Test gift and xml-fayllar.org47. Shablonlarning standart kutubxonasi va undan dastur yozishda foydalanishga misollar keltiring?
Kompilyatorlar tarkibida shablonlar kutubxonasini taqdim etadi. (Standart Template Library). Bu kutubxona bir qancha funksiya va klass shablonlaridan tashkil topgan.
Masalan, ikki bog’lamli ro’yxat klassi (list), “juft” klassi (pair), ikki o’zgaruvchining o’rnini almashtirish funktsiyasi shabloni (swap), saralash funksiyalari, massivni dinamik kengaytirish funksiyasi (vector) va h.k. Bulardan dasturlashda to’liq foydalanishingiz mumkin.
Misol uchun std::vector ni olamiz:
48. Функция параметрлари асосида шаблон параметрларини аниқлаш.
Umuman olganda, my_swap funksiyasini burchakli qavsda turni ko’rsatmasdan turib chaqirish mumkin. Kompilyator turni o’zi hosil qiladi.
Turni ko’rsatmasdan funksiyani chaqirish:
int a = 5;
int b = 10;
my_swap (a, b);
Bu yerda funksiya o’z parametrlariga mos ma’lumot turini qayta ishlaydi. Bu deducing template arguments (argumentlarni chiqarib tashlash) deb ataladi. Yuqoridagilarga asoslangan holda murakkabroq misol uchun shablon funksiyasini yozamiz. Masalan, massiv elementlarini saralash dasturi uchun (bunda “pufaksimon” saralash usulidan foydalanamiz). Tabiiyki, saralash algoritmi barcha massivlar uchun bir xil, lekin massivdagi elementlar turi farq qiladi. elementlar o’rnini almashtirish uchun yuqoridagi my_swap funksiyasidan foydalanamiz.
#include
|
| |