|
Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing.
Javob
|
bet | 2/12 | Sana | 15.05.2024 | Hajmi | 122,84 Kb. | | #234504 |
Bog'liq 3-mustaqil ish dasturlash AbduganiyevBu sahifa navigatsiya:
- Savol
Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing.
Javob : Agar myVector, myList va mySet konteynerlarining elementlari bir xil bo'lishi kerak bo'lsa, ularni to'ldirish quyidagicha bo'lishi mumkin:
// myVector, myList va mySet elementlarini bir xil qilib to'ldirish
vector myVector;
list myList;
set mySet;
for (int count = 0; count < 5; ++count) {
myVector.push_back(count);
myList.push_back(count);
mySet.insert(count);
}
Bu kod fragmentida, birinchi uchta qator mos ravishda myVector, myList va mySet konteynerlarini yaratadi.
Keyingi for tsikli 5 marta bajarilib, har bir iteratsiya uchun 0 dan 4 gacha bo'lgan sonlarni mos ravishda myVector, myList va mySet konteynerlariga qo'shadi.
Natijada, har uchta konteynerdagi elementlar 0, 1, 2, 3, 4 qiymatlariga ega bo'ladi va ular bir xil bo'ladi.
Agar myVector, myList va mySet konteynerlarining elementlari bir xil bo'lishi kerak bo'lsa, yuqoridagi kod fragmentidan foydalanish mumkin.
Savol : itV qanday konteyner va nima uchun?
Javob : itV o'zgaruvchisi vector::const_iterator tipiga ega bo'lib, myVector konteynerining konstant iteratorini ifodalaydi.
Iteratorlar konteynerlarning elementlariga murojaat qilish va ularni navbati bilan o'tish uchun ishlatiladigan maxsus ob'ektlardir. const_iterator turi konteynerning elementlarini faqat o'qish uchun murojaat qilishga imkon beradi.
itV iteratoridan quyidagi maqsadda foydalaniladi:
1. myVector konteynerining elementlarini navbati bilan o'tib chiqish uchun:
vector::const_iterator itV;
itV = myVector.begin();
while (itV != myVector.end()) {
cout << *itV << " ";
++itV;
}
Bu kod myVector konteynerining barcha elementlarini chop etadi.
2. myVector konteynerining elementlariga faqat o'qish uchun murojaat qilish uchun:
cout << *itV << " ";
Bu kod itV iteratorning ko'rsatayotgan elementini chop etadi.
Konstant iterator ishlatish asosan quyidagi maqsadlarda foydalidir:
- Konteynerning elementlarini o'zgartirmaslik kerak bo'lgan hollarda
- Konteynerning elementlariga faqat o'qish uchun murojaat qilish kerak bo'lgan hollarda
- Konteyner elementlarining xavfsizligini ta'minlash uchun
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing.
Javob
|