Mis on objektide vektor C++

Mis On Objektide Vektor C



C++ algajana võite kuulda terminit ' objektide vektor ”. Kuid teil pole õiget arusaama sellest, mida see termin tähendab ja kuidas seda C++ programmis kasutada.

Kui olete see, kes otsib juhiseid objektide vektor keeles C++ järgige selle artikli juhiseid.

Mis on objektide vektor C++ keeles

C++ keeles a objektide vektor on andmestruktuur, mis võimaldab kasutajatel salvestada seotud objekte või andmetüüpe. See töötab sarnaselt tavalise massiiviga ja pakub kasutajatele eelist, et selle suurust saab muuta, mis tähendab, et see võib vastavalt programmi vajadustele kasvada või kahaneda. See funktsioon on eriti kasulik, kui töötate suurte erineva suurusega andmekogumitega.







Kuidas luua objektide vektorit C++-s

Klassiobjektide vektor näib olevat näide sellisest kohandatud vektorist, milles saab salvestada mitu klassi eksemplari.



Järgmine C++ programm loob klassiobjektide vektori.



#include
#include
#include
kasutades nimeruum std ;
int rand_Täisarv ( int x, int ja )
{
tagasi ( x + rand ( ) % ja ) ;
}
string rand_String ( int laisk1 )
{
string str1 ;
jaoks ( int i = 0 ; i < laisk1 ; i ++ ) {
char ptk = 'A' + rand ( ) % 26 ;
str1. lükka tagasi ( ptk ) ;
}
tagasi str1 ;
}
klass Töötaja
{
stringi nimi ;
int id ;
int vanus ;
avalik :
tühine getter ( )
{
nimi = rand_String ( 10 ) ;
id = rand_Täisarv ( 10 , 30 ) ;
vanus = rand_Täisarv ( 25 , 40 ) ;
}
tühine disp ( )
{
cout << nimi << ' \t ' << id << ' \t ' << vanus << ' \t ' << ' \n ' ;
}
} ;
int peamine ( )
{
vektor v1 ;
Töötaja s ;
jaoks ( int i = 0 ; i < 5 ; i ++ )
{
s. getter ( ) ;
v1. lükka tagasi ( s ) ;
}
jaoks ( int i = 0 ; i < 5 ; i ++ )
{
v1 [ i ] . disp ( ) ;
}
tagasi 0 ;
}

Ülaltoodud koodis oleme juhuslikult genereerinud viie töötaja andmed (nimi, vanus ja ID), kasutades klassiobjektide vektorit nimega ' Töötaja ”. Kus määratlesime töötaja isikutunnistuse vahemiku 10–30 ja vanuse järgi 25–40.





Objektide vektori kasutamise eelised C++-s

Objektide vektori kasutamisel C++-s on mitmeid eeliseid, mis on järgmised:



  • Võimaldab kasutajatel andmeid tõhusalt salvestada, hallata ja neile juurde pääseda.
  • Kasutajad saavad andmeid vastavalt oma vajadustele lisada, eemaldada või nendega manipuleerida, ilma et oleks vaja nullist massiivi luua.
  • Optimeerib objektide mälu paigutust.
  • Muutke massiivi suurust käitusajal hõlpsalt.
  • Jõudlus paraneb, kui see käsitleb suuri andmeid.

Klassikursoriga vektor

Võite kasutada ka a objektide vektor keeles C++ objekti aadressi salvestamiseks selle asemel, et objekte otse vektoritesse sisestada. Siin on näide sellise juhtumi kohta:

#include
#include
kasutades nimeruum std ;
klass omanik
{
avalik :
stringi nimi ;
} ;
int peamine ( )
{
vektorsaidid ;
omanik * s1 = uus omanik ( ) ;
s1 - > nimi = 'Alex' ;
omanik * s2 = uus omanik ( ) ;
s2 - > nimi = 'ise' ;
saidid. lükka tagasi ( s1 ) ;
saidid. lükka tagasi ( s2 ) ;
jaoks ( auto seda : saidid ) {
cout << 'Omanik:' < nimi
<< 'Omaniku ID:' << seda << endl ;
}
tagasi 0 ;
}

Selles koodis kasutasime a objektide vektor keeles C++, et salvestada 'omanikuna' nimetatud objekti aadress, selle asemel et objekte otse vektorisse sisestada. Siin kasutasime objekti liikmetele juurdepääsuks nooleoperaatorit.

Järeldus

Kasulikku C++ konteinerit, mis võimaldab kasutajatel salvestada ühte kohta mitut sama tüüpi objekti, nimetatakse objektide vektoriks. See aitab muuta teie koodi tõhusamaks ja paindlikumaks. Lisaks saate objektide vektoreid kasutades hõlpsasti manipuleerida ja neid andmeid juurde pääseda, mis aitavad teil hõlpsalt kirjutada keerukamaid programme.