Какво е вектор на обекти C++

Kakvo E Vektor Na Obekti C



Като начинаещ в C++ може да чуете термина „ вектор от обекти ”. Вие обаче нямате никакво правилно разбиране какво означава този термин и как може да се използва в C++ програма.

Ако вие сте този, който търси насоки за вектор от обекти в C++, следвайте указанията на тази статия.

Какво е вектор от обекти в C++

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







Как да създадете вектор от обекти в C++

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



Следната C++ програма ще създаде вектор от обекти на клас.



#include
#include <низ>
#include <вектор>
използвайки пространство от имена std ;
вътр ранд_Цяло число ( вътр х, вътр и )
{
връщане ( х + ранд ( ) % и ) ;
}
низ rand_String ( вътр мързелив1 )
{
низ str1 ;
за ( вътр аз = 0 ; аз < мързелив1 ; аз ++ ) {
въглен гл = 'А' + ранд ( ) % 26 ;
str1. избутвам ( гл ) ;
}
връщане str1 ;
}
клас служител
{
име на низ ;
вътр документ за самоличност ;
вътр възраст ;
публичен :
невалиден получател ( )
{
име = rand_String ( 10 ) ;
документ за самоличност = ранд_Цяло число ( 10 , 30 ) ;
възраст = ранд_Цяло число ( 25 , 40 ) ;
}
невалиден разп ( )
{
cout << име << ' \T ' << документ за самоличност << ' \T ' << възраст << ' \T ' << ' ' ;
}
} ;
вътр основен ( )
{
вектор v1 ;
Служител с ;
за ( вътр аз = 0 ; аз < 5 ; аз ++ )
{
с. получател ( ) ;
v1. избутвам ( с ) ;
}
за ( вътр аз = 0 ; аз < 5 ; аз ++ )
{
v1 [ аз ] . разп ( ) ;
}
връщане 0 ;
}

В горния код произволно сме генерирали данните (име, възраст и идентификатор) на петима служители, използвайки вектор от обекти на клас, наречени като „ служител ”. Където дефинирахме диапазона от 10-30 за ID на служителя и 25-40 за неговата възраст.





Предимства от използването на вектор от обекти в C++

Има няколко предимства от използването на вектор от обекти в C++, които са както следва:



  • Позволява на потребителите ефективно да съхраняват, управляват и осъществяват достъп до данни.
  • Потребителите могат да добавят, премахват или манипулират данни според нуждите си, без да е необходимо да създават масив от нулата.
  • Оптимизира оформлението на паметта на обектите.
  • Лесно преоразмеряване на масива по време на изпълнение.
  • Производителността се подобрява, когато работи с големи данни.

Вектор с указател на клас

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

#include
#include <вектор>
използвайки пространство от имена std ;
клас собственик
{
публичен :
име на низ ;
} ;
вътр основен ( )
{
векторни сайтове ;
собственик * s1 = нов собственик ( ) ;
s1 - > име = 'Алекс' ;
собственик * s2 = нов собственик ( ) ;
s2 - > име = 'себе си' ;
сайтове. избутвам ( s1 ) ;
сайтове. избутвам ( s2 ) ;
за ( Автоматичен то : сайтове ) {
cout << 'Собственик:' < име
<< 'ID на собственика:' << то << endl ;
}
връщане 0 ;
}

В този код използвахме a вектор от обекти в C++ за съхраняване на адреса на обект, наречен като „собственик“, вместо директно вмъкване на обекти във вектора. Тук използвахме оператор със стрелка за достъп до членовете на обекта.

Заключение

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