Ц++ вектори су део СТЛ (Стандард Темплате Либрари). СТЛ је једна од многих библиотека доступних за Ц++ које повећавају ефикасност, флексибилност и перформансе апликација. Вектори су веома корисни и витални концепт за свакога ко жели да буде вешт у Ц++.

Ц++ вектори су у суштини контејнери које можете користити за складиштење података. Они чине рад са низовима чистим и брзим, тако да је знање како да користите Ц++ векторе вредна вештина, ако желите да развијете Ц++ апликацију. Читајте даље док расправљамо о свему што треба да знате о Ц++ векторима.

Шта су Ц++ вектори?

Ц++ вектори су контејнери секвенци који су суштинска компонента Стандардне библиотеке шаблона. Вектори представљају низове који могу динамички да мењају величину током времена рада ако је потребно.

За разлику од традиционалних низова, не морате експлицитно да управљате алокацијом меморије вектора. Контејнер вектора аутоматски управља својом меморијом. О Ц++ векторима можете размишљати као о динамичком низу који се сам прилагођава након додавања или уклањања елемента.

Поред тога, вектор распоређује своје елементе узастопно. То значи да им можете лако приступити помоћу показивача или итератора.

Како ради стд:: вецтор

Сада када сте упознати шта су Ц++ вектори, морате да разумете како они функционишу пре него што почнете да их користите у свом коду.

Повезан: Да ли је Ц++ још увек релевантан у 2021.

Када користите Ц++ вектор, он ће уметнути нове елементе на крају у диференцијалном времену. То је зато што ће, у неким случајевима, вектор морати да се прошири да би се прилагодио новом елементу. Слично томе, ако бисте издвојили последњи елемент вектора, било би потребно константно време да вектор не мора да прилагоди своју дужину (величину).

Да бисмо ефикасно користили векторе, користимо итераторе и уграђене функције. Итератори су показивачи који се користе уз Ц++ векторе. Они поједностављују прелазак кроз векторски контејнер. Постоји много различитих векторских функција, а неке од важних ћемо погледати у следећем одељку.

Ц++ векторске функције

Хајде да погледамо неке функције итератора и СТЛ контејнера које се обично користе са Ц++ векторима:

  1. започети() враћа показивач итератора који показује на први елемент вектора.
  2. крај() враћа показивач итератора на последњу позицију векторског контејнера.
  3. рбегин() је као започети(), али вам даје обрнути итератор који показује на последњи елемент у вектору.
  4. величина() враћа број елемената ускладиштених у вектору.
  5. мак_сизе() враћа максимални капацитет елемената које векторски контејнер може да прими.
  6. промени величину (к) ће променити величину векторског контејнера тако да може да држи Икс елемената.
  7. празно() враћа тачно ако векторски контејнер нема елемената.
  8. потисне() убацује нови елемент у вектор на крају.
  9. поп_бацк() издваја елемент са краја векторског контејнера.
  10. инсерт() омогућава вам да додате елемент вектору на одређеној позицији.

Ц++ векторски пример

Коришћење вектора у Ц++ чини кодирање са низовима флексибилним и брзим. Хајде да погледамо неки пример кода који користи Ц++ векторе.

#инцлуде
#инцлуде
коришћење простора имена стд;
воид маин()
{
вектор арр;
// пусх_бацк за додавање елемената на крај нашег контејнера
арр.пусх_бацк (10);
арр.пусх_бацк (5);
арр.пусх_бацк (20);
// вектор сада садржи [10,5,20]
// користи се итератор бегин() за кретање кроз контејнер до енд() показивача
цоут << "бегин() и енд() итератори: ";
фор (ауто ј = арр.бегин(); ј != арр.енд(); ј++)
{
цоут << *ј << ' ';
}
// Очекивани резултат: 10 5 20
// рбегин() и ренд() који се користе за преокретање векторског контејнера
цоут << "рбегин() и ренд() итератори: ";
фор (ауто ј = арр.рбегин(); ј != арр.ренд(); ј++)
{
цоут << *ј << ' ';
}
// Очекивани резултат: 20 5 10
цоут << "Величина низа је: " << арр.сизе() << ендл;
// Очекивани излаз: Величина низа је: 3
// Промени величину низа тако да има само 2 елемента
арр.ресизе (2);
цоут << "Величина низа је: " << арр.сизе() << ендл;
// Очекивани излаз: Величина низа је: 2
цоут << "МакСизе(): " << арр.мак_сизе() << ендл;
цоут << "Вектор празан? " << арр.емпти() << ендл;
// поп_бацк последњи елемент
арр.поп_бацк();
// убацити 5 на почетак низа
арр.инсерт (арр.бегин(), 5);
}

Повезан: Како научити програмирати на Ц++

Коришћење вектора у Ц++

Ц++ вектори су флексибилни и моћни, због чега су суштинска карактеристика сваког Ц++ програмера. СТЛ је значајна Ц++ библиотека и њено детаљно истраживање може вам помоћи да креирате боље апликације.

Водич за почетнике за стандардну библиотеку шаблона у Ц++

Желите да боље разумете Ц++ са стандардном библиотеком шаблона? Уђи у књиге овде.

Реад Нект

ОбјавиТвеетЕмаил
Повезане теме
  • Програмирање
  • Програмирање
  • Објектно оријентисано програмирање
О аутору
М. Фахад Кхаваја (Објављено 76 чланака)

Фахад је писац у МакеУсеОф-у и тренутно студира рачунарство. Као страствени писац технологије, он води рачуна о томе да остане у току са најновијом технологијом. Посебно га занимају фудбал и технологија.

Више од М. Фахад Кхаваја

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили