1/7
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Šta znači da se kolekciji veličina može dinamički realocirati?
To znači da se toj kolekciji veličina može menjati tokom izvršavanja programa.
Gde se cuva vektor deklasiran kao lokalna promenjiva?
Opste informacije cuvaju se na programskom steku, a sami elementi cuvaju se na hipu.
Sta se desava ukoliko index i nije unutar granica vektora?
Ako se pristupa sa a[i] , u fazi izvrsavanja dolazi do nedefinisanog ponasanja pa i prekida rada programa
Ako se pristupa sa a.at(i) u fazi izvrsavanja proverava se da li je indeks i unutar granica vektora, i ukoliko nije aktivira se izuzetak
Sta sledece komande vezane za vektore rade?
a.push_back(x)
a.pop_back()
a.back()
push_front i pop_front
a.front
emplace_back
a.resize(n)
a.push_back(x) - Dodavanje elementa x na kraj
a.pop_back() - Uklananje poslednjeg elementa
a.back() - Citanje poslednjeg elementa
push_front i pop_front - dodaju/uklanjaju element sa pocetka (neefikasne i izbegavamo)
a.front - citanje prvog elementa
emplace_back - metoda ukoliko se u vektoru cuvaju uredjeni parovi ili n-torke, navode se redom elemetni para
a.resize(n) eksplicitna promena dimenzije vektora, nakon poziva vektor dobija dim n
Kako vektori zauzimaju memoriju?
U startu se rezervise tj. alocira oredjena kolicina memorije. Kada se sva ta memorija popuni tada se vrsi realokacija koja podrazumeva da se alocira nova kolicina memorije i da se prepisu elementi na novu memorijsku lokaciju.
Oov moze biti sporo, ali zbog toga sto memorija raste geometrijskom progresijom, realokacije su sve redje i redje i push_back funkcionise veoma brzo
Sta predstavlja metoda a.resize(100, 17)
Uzrokuje da vektor sadrzi 100 elemenata jednakih 17.
Kako se vektor prenosi u funkciju?
Prenosi se po vrednosti tj. prenosi se njegova kopija navedena kao argument u pozivu. Ako zelimo da funkcija modifikuje vektor saljemo ga po referenci.
Zbog cega u sledecem kodu koristimo const?
int zbir(const vector<int>& a) {
int z = 0;
for (int x : a)
z += a;
return z;
}
Prenosimo nas vektor po referenci da ne bi dolazilo do nepotrebnog kopiranja jer se trosi memorija i vreme, a sa const osiguravamo da se nas originalni vektor nece promeniti.