Hva er vektor av objekter C ++

Hva er vektor av objekter C ++
Som nybegynner av C ++ kan du høre begrepet “vektor av objekter”. Du har imidlertid ingen riktig forståelse av hva dette begrepet betyr og hvordan det kan brukes i et C ++ -program.

Hvis du er den som leter etter veiledning på vektor av objekter I C ++, følg retningslinjene for denne artikkelen.

Hva er en vektor av objekter i C++

I C ++, a vektor av objekter er en datastruktur som lar brukere lagre et sett med relaterte objekter eller datatyper. Det fungerer på samme måte som en vanlig matrise og gir en fordel for brukerne av å være bindes, noe som betyr at den kan vokse eller krympe i henhold til behovene til et program. Denne funksjonen er spesielt nyttig når du jobber med store datasett i forskjellige størrelser.

Hvordan lage vektor av objekter i C++

En vektor av klasseobjekter ser ut til å være et eksempel på en slik tilpasset vektor der flere klasseforekomster kan lagres.

Følgende C ++ -program vil lage en vektor av klasseobjekter.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int rand_integer (int x, int y)

retur (x + rand () % y);

String rand_string (int len1)

streng str1;
for (int i = 0; i < len1; i++)
char ch = 'a' + rand () % 26;
STR1.push_back (ch);

return str1;

klasseansatt

strengnavn;
int id;
int alder;
offentlig:
ugyldig getter ()

navn = rand_string (10);
id = rand_integer (10, 30);
Alder = Rand_Integer (25, 40);

void disp ()

cout << name << "\t" << id << "\t" << age << "\t" << "\n";

;
int main ()

vektor v1;
Ansatt S;
for (int i = 0; i < 5; i++)

s.getter ();
v1.push_back (er);

for (int i = 0; i < 5; i++)

v1 [i].disp ();

retur 0;

I koden ovenfor har vi tilfeldig generert dataene (navn, alder og ID) til fem ansatte som bruker en vektor av klasseobjekter kalt som "Ansatt”. Der vi definerte området 10-30 for ansattes ID og 25-40 for deres alder.

Fordeler ved å bruke vektor av objekter i C++

Det er flere fordeler ved å bruke en vektor av objekter i C ++, som er som følger:

  • Lar brukere effektivt lagre, administrere og få tilgang til data.
  • Brukerne kan legge til, fjerne eller manipulere data i henhold til deres behov uten å måtte opprette en matrise fra bunnen av.
  • Optimaliserer minneoppsettet av objekter.
  • Endre størrelsen på matrisen under kjøretiden.
  • Ytelsen forbedres når den tar for seg store data.

En vektor som har klassepeker

Du kan også bruke en vektor av objekter I C ++ for å lagre objektadressen i stedet for direkte å sette inn objekter i vektorer. Her er et eksempel for en slik sak:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
klasseeier

offentlig:
strengnavn;
;
int main ()

vektorsider;
eier* S1 = ny eier ();
S1-> name = "Alex";
Eier* S2 = ny eier ();
S2-> name = "Sam";
nettsteder.push_back (S1);
nettsteder.push_back (S2);
for (auto it: nettsteder)
cout << "Owner:" << " ID of Owner:" << it << endl;

retur 0;

I denne koden brukte vi en vektor av objekter I C ++ for å lagre adressen til et objekt kalt "eier" i stedet for direkte å sette inn objekter i vektoren. Her brukte vi en piloperatør for å få tilgang til medlemmene i objektet.

Konklusjon

En nyttig beholder i C ++ som lar brukere lagre flere objekter av samme type på et enkelt sted kalles vektor av objekter. Det hjelper med å gjøre koden din mer effektiv og fleksibel. Ved å bruke vektorer av objekter kan du enkelt manipulere og få tilgang til dataene som hjelper deg med å skrive mer komplekse programmer med letthet.