Massiv o'lchamini tushirib qoldirish (Omit Array Size)
O'lcham ko'rsatmasdan massiv e'lon qilish
C++ tilida massivning o'lchamini ko'rsatmaslik mumkin. Kompilyator kiritilgan qiymatlar soniga qarab massivning o'lchamini avtomatik aniqlaydi:
MISOL
string cars[] = {"Volvo", "BMW", "Ford"}; // Uchta elementYuqoridagi misol quyidagiga teng:
MISOL
string cars[3] = {"Volvo", "BMW", "Ford"}; // Uchta element hamBiroq, oxirgi usul "yaxshi amaliyot" hisoblanadi, chunki u dasturdagi xatolar ehtimolini kamaytiradi.
E'lon qilishda elementlarni tushirib qoldirish
Massivni elementlarni ko'rsatmasdan e'lon qilib, keyinchalik ularni qo'shish mumkin:
MISOL
string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
cars[4] = "Tesla";ESLATMA
Yuqoridagi misol faqat massiv o'lchami ko'rsatilganda ishlaydi.
Agar massiv o'lchamini ko'rsatmasangiz, xatolik yuzaga keladi:
XATO MISOL
string cars[]; // Massiv o'lchami ko'rsatilmagan
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
cars[4] = "Tesla";
// xato: 'cars' da massiv o'lchami ko'rsatilmaganO'zgarmas o'lcham (Massivlar) va dinamik o'lcham (Vektorlar)
C++ da massivlar haqida gapirilganda, ko'pincha "o'zgarmas o'lcham" va "dinamik o'lcham" atamalari ishlatiladi.
C++ da massivning o'lchami o'zgarmasdir, ya'ni massiv yaratilgandan keyin unga element qo'shib yoki o'chirib bo'lmaydi.
XATO MISOL — Massiv (o'zgarmas o'lcham)
// 3 ta elementli massiv
string cars[3] = {"Volvo", "BMW", "Ford"};
// To'rtinchi elementni qo'shishga urinish xatolik beradi
cars[3] = "Tesla";Vektorlar
Element qo'shish va o'chirish kerak bo'lgan hollarda, C++ tilida vektorlar mavjud — ular o'lchami o'zgaruvchan massivlardir.
Vektorlar <vector> kutubxonasida joylashgan va elementlarni qo'shish, o'chirish va o'zgartirish uchun ko'p foydali funksiyalarga ega:
MISOL — Vektor (dinamik o'lcham)
// 3 ta elementli vektor
vector<string> cars = {"Volvo", "BMW", "Ford"};
// Vektorga yana element qo'shish
cars.push_back("Tesla");MA'LUMOT
Bu faqat vektorlarga kirish edi. Yuqoridagi sintaksisni tushunmasangiz, tashvishlanmang. Vektorlar va boshqa ma'lumotlar tuzilmalari haqida keyingi boblarda batafsil o'rganasiz.
