C++ векторите са част от STL (Standard Template Library). STL е една от многото налични библиотеки за C++, които повишават ефективността, гъвкавостта и производителността на приложенията. Векторите са много полезни и жизненоважна концепция за всеки, който иска да стане опитен в C++.

C++ векторите по същество са контейнери, които можете да използвате за съхраняване на данни. Те правят работата с масиви чиста и бърза, така че да знаете как да използвате C++ вектори е ценно умение, ако искате да разработите C++ приложение. Прочетете, докато обсъждаме всичко, което трябва да знаете за C++ векторите.

Какво представляват C++ векторите?

C++ векторите са контейнери за последователности, които са основен компонент на стандартната шаблонна библиотека. Векторите представляват масиви, които могат динамично да променят размера по време на изпълнение, ако е необходимо.

За разлика от традиционните масиви, не е необходимо да управлявате изрично разпределението на паметта на вектор. Контейнерът на вектора автоматично управлява паметта си. Можете да мислите за C++ векторите като динамичен масив, който се настройва след добавяне или премахване на елемент.

instagram viewer

Освен това векторът подрежда своите елементи последователно. Това означава, че можете лесно да получите достъп до тях с помощта на указатели или итератори.

Как работи std:: vector

След като вече сте запознати с това какво представляват векторите на C++, трябва да разберете как функционират, преди да започнете да ги използвате в кода си.

Свързани: C++ все още ли е уместен през 2021 г.?

Когато използвате C++ вектор, той ще вмъкне нови елементи в края в диференциално време. Това е така, защото в някои случаи векторът ще трябва да се разшири, за да побере новия елемент. По същия начин, ако трябва да извлечете последния елемент от вектор, това ще отнеме постоянно време, когато векторът не трябва да коригира своята дължина (размер).

За да използваме ефективно векторите, ние използваме итератори и вградени функции. Итераторите са указатели, използвани заедно с C++ вектори. Те опростяват преминаването през векторния контейнер. Има много различни векторни функции и ние ще разгледаме някои от важните в следващия раздел.

C++ векторни функции

Нека разгледаме някои итератори и STL контейнерни функции, които обикновено се използват с C++ вектори:

  1. започвам() връща указател на итератор, който сочи към първия елемент на вектора.
  2. край() връща указател на итератор към последна позиция на векторния контейнер.
  3. rbegin() е като започвам(), но ви дава обратен итератор, сочещ към последния елемент във вектора.
  4. размер() връща брой елементи, съхранени във вектора.
  5. максимален_размер() връща максималния капацитет на елементите, които векторният контейнер може да побере.
  6. преоразмеряване (x) ще промени размера на векторния контейнер, така че да може да го задържи х елементи.
  7. празен() връща true, ако векторният контейнер няма елементи.
  8. избутвам() вмъква нов елемент във вектора в края.
  9. pop_back() извлича елемент от края на векторния контейнер.
  10. вмъкване() ви позволява да добавите елемент към вектора на определена позиция.

C++ Векторен пример

Използването на вектори в C++ прави кодирането с масиви гъвкаво и бързо. Нека да разгледаме примерен код, който използва C++ вектори.

#включи
#включи
използване на пространство от имена std;
void main()
{
вектор arr;
// push_back за добавяне на елементи в края на нашия контейнер
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// вектор вече съдържа [10,5,20]
// използваме итератора begin() за преминаване през контейнера до указател end().
cout << "итератори начало() и край(): ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Очакван изход: 10 5 20
// rbegin() и rend(), използвани за обръщане на преходен векторен контейнер
cout << "итератори rbegin() и rend(): ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Очакван изход: 20 5 10
cout << "Размерът на масива е: " << arr.size() << endl;
// Очакван изход: Размерът на масива е: 3
// Преоразмеряване на масива, за да има само 2 елемента
arr.resize (2);
cout << "Размерът на масива е: " << arr.size() << endl;
// Очакван изход: Размерът на масива е: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Вектор празен? " << arr.empty() << endl;
// pop_back последен елемент
arr.pop_back();
// вмъкване на 5 в началото на масива
arr.insert (arr.begin(), 5);
}

Свързани: Как да научите програмиране на C++

Използване на вектори в C++

C++ векторите са гъвкави и мощни, поради което са съществена характеристика за всеки C++ разработчик. STL е важна C++ библиотека и подробното й проучване може да ви помогне да създадете по-добри приложения.

Ръководство за начинаещи за стандартната библиотека с шаблони в C++

Искате да разберете по-добре C++ със стандартната шаблонна библиотека? Посетете книгите тук.

Прочетете Следващото

Дялтуителектронна поща
Свързани теми
  • Програмиране
  • Програмиране
  • Обектно-ориентирано програмиране
За автора
М. Фахад Хаваджа (публикувани 76 статии)

Фахад е писател в MakeUseOf и в момента специализира компютърни науки. Като запален технически писател, той гарантира, че остава в течение с най-новите технологии. Той се интересува особено от футбола и технологиите.

Още от М. Фахад Хаваджа

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате