assign()
C++ vector assign() funksiyasi
Misol
Bir vektor tarkibini boshqasiga nusxalang:
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
vector<string> carbrands;
carbrands.assign(cars.begin(), cars.end());
for(string brand : carbrands) {
cout << brand << "\n";
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
assign() funksiyasi vektor tarkibini tozalaydi, so‘ng uni ma’lumotlar bilan to‘ldiradi.
Vektorni qanday ma’lumotlar bilan to‘ldirishni belgilashning ikki usuli bor:
- Boshqa ma’lumotlar tuzilmasidan nusxalanadigan ma’lumotlar oralig‘ini ko‘rsatish
- Qiymatni va u necha marta takrorlanishini ko‘rsatish
Birinchi holatda ma’lumotlar oralig‘i uning boshi va oxirini ko‘rsatuvchi ikkita iterator orqali belgilanadi. Nusxalangan ma’lumotlarga boshidan to oxiridan oldingi oxirgi elementgacha bo‘lgan barcha elementlar kiradi, oxirning o‘zi esa kirmaydi.
Ikkinchi holatda bitta parametr elementlar sonini, ikkinchi parametr esa shu elementlarning qiymatini belgilaydi.
Sintaksis
Quyidagilardan biri:
vector.assign(iterator start, iterator end);
vector.assign(size_t amount, <type> value);
size_t ma’lumot tipi manfiy bo‘lmagan butun sondir. <type> vektordagi ma’lumotlarning tipini bildiradi.
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| start | Majburiy. Nusxalanadigan ma’lumotlar oralig‘ining boshini ko‘rsatuvchi iterator. |
| end | Majburiy. Nusxalanadigan ma’lumotlar oralig‘ining oxirini ko‘rsatuvchi iterator. Shu pozitsiyagacha bo‘lgan elementlar nusxalanadi, lekin aynan shu pozitsiyadagi element nusxalanmaydi. |
| amount | Majburiy. Vektorga joylanadigan elementlar sonini belgilovchi butun son. |
| value | Majburiy. Vektorning har bir elementiga yoziladigan qiymat. |
Ko‘proq misollar
Misol
Vektorni qiymatlar bilan to‘ldiring:
vector<string> myVector;
myVector.assign(4, "Placeholder");
for (string item : myVector) {
cout << item << "\n";
}
O‘zingiz sinab ko‘ring »
Tegishli sahifalar
Vektorlar haqida vektorlar darsligimizda batafsil o‘qing.
Iteratorlar haqida iteratorlar darsligimizda batafsil o‘qing.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
