[ Web Proxy ]
URL:
Viewing: https://cs.cppreference.com/cpp/container/vector [Back]  [Original]

std::vector cppreference.com
cppreference.com
Jmenn prostory
Varianty

std::vector

Z cppreference.com
< cpp
<tbody> </tbody>
Definovno v <vector>
template< class T, class Allocator = std::allocator<T> > class vector;

std::vector je sekvenn kontejner zapouzdujc dynamick pole (pole s promnnm potem prvk).

Prvky vektoru jsou v pamti uloeny souvisle, jeden za druhm. Krom itertoru me bt k prvku pistupovno i uitm obyejnho ukazatele s offsetem. Ukazatel na prvek vektoru lze pedat kterkoli funkci, kter oekv ukazatel na prvek pole.

Pam vektoru je spravovna automaticky, je zvtovna i zmenovna dle poteby. Vektor zpravidla zabr vce pamti ne obyejn statick pole - je alokovno vce pamti najednou pro budouc rst. Vektor proto nemus realokovat pam kvli kadmu jednotlivmu vkldanmu prvku, ale teprve tehdy kdy je dodaten msto vyerpno. Celkov mnostv alokovan pamti lze zjistit lenskou funkc capacity(). Nevyuit nadbyten pam me bt uvolnna volnm lensk funkce shrink_to_fit().(ponaje C++11)

Realokace pamti je z hlediska vpoetnho vkonu celkem nkladnou operac. Vektor proto umouje rezervovat msto pro prvky dopedu pomoc lensk funkce reserve(). Je-li pedem znma horn mez potu prvk vektoru, lze realokace zcela eliminovat.

Asymptotick asov sloitost bnch operac s vektorem je nsledujc:

  • Nhodn pstup k prvkm vektoru - konstantn O(1)
  • Pidn nebo odebrn prvk na konci vektoru - amortizovan konstantn O(1)
  • Vloen nebo vyjmut prvk v tle vektoru - linern v zvislosti na vzdlenosti od konce vektoru O(n)

std::vector spluje poadavky koncept Container, AllocatorAwareContainer, SequenceContainer a ReversibleContainer.

Parametry ablony

T - Typ prvk.
T mus splovat poadavky koncept CopyAssignable a CopyConstructible. (ped C++11)
Kter poadavky jsou na prvky kladeny zvis na provdn operaci. Obecn je vyadovno aby typ prvku sploval poadavky koncept MoveConstructible a MoveAssignable. Mnoho lenskch funkc m psnj poadavky. (ponaje C++11)

[edit]

Allocator - Aloktor, kter m bt uvn ke sprv pamti pro prvky. Typ aloktoru mus splovat poadavky konceptu Allocator. [edit]

Specializace

Standardn knihovna poskytuje specializaci ablony std::vector pro typ bool. Tato specializace je optimalizovna pro ni spotebu pamti.

prostorov sporn dynamick bitset
(Specializace ablony tdy) [edit]

lensk typy

lensk typ Definice
value_type T [edit]
allocator_type Allocator [edit]
size_type Celoseln typ bez znamnka (zpravidla std::size_t) [edit]
difference_type Celoseln typ se znamnkem (zpravidla std::ptrdiff_t) [edit]
reference Allocator::reference (ped C++11)
value_type& (ponaje C++11) [edit]
const_reference Allocator::const_reference (ped C++11)
const value_type& (ponaje C++11) [edit]
pointer Allocator::pointer (ped C++11)
std::allocator_traits<Allocator>::pointer (ponaje C++11) [edit]
const_pointer Allocator::const_pointer (ped C++11)
std::allocator_traits<Allocator>::const_pointer (ponaje C++11) [edit]
iterator RandomAccessIterator [edit]
const_iterator Konstantn itertor s nhodnm pstupem [edit]
reverse_iterator std::reverse_iterator<iterator> [edit]
const_reverse_iterator std::reverse_iterator<const_iterator> [edit]

lensk funkce

zkonstruuje vector
(veejn lensk funkce) [edit]
destruuje vector
(veejn lensk funkce) [edit]
provede piazen obsahu kontejneru
(veejn lensk funkce) [edit]
provede piazen obsahu kontejneru
(veejn lensk funkce) [edit]
vrt pidruen aloktor
(veejn lensk funkce) [edit]
Pstup k prvkm
zpstupn prvek na zadan pozici s kontrolou pekroen mez
(veejn lensk funkce) [edit]
zpstupn prvek na zadan pozici
(veejn lensk funkce) [edit]
zpstupn prvn prvek
(veejn lensk funkce) [edit]
zpstupn posledn prvek
(veejn lensk funkce) [edit]
(C++11)
pm pstup k vnitnmu poli
(veejn lensk funkce) [edit]
Itertory
vrt itertor pro prvn prvek
(veejn lensk funkce) [edit]
vrt itertor pro posledn prvek
(veejn lensk funkce) [edit]
vrt reverzn itertor pro prvn prvek
(veejn lensk funkce) [edit]
vrt reverzn itertor pro posledn prvek
(veejn lensk funkce) [edit]
Kapacita
zjist zda-li je kontejner przdn
(veejn lensk funkce) [edit]
zjist poet prvk
(veejn lensk funkce) [edit]
vrt maximln mon poet prvk
(veejn lensk funkce) [edit]
rezervuje pam pro prvky
(veejn lensk funkce) [edit]
vrt poet prvk, kolik se vejde do souasnho alokovanho msta
(veejn lensk funkce) [edit]
pod o uvolnn nevyuit pamti
(veejn lensk funkce) [edit]
Zmna obsahu
vyprzdn kontejner
(veejn lensk funkce) [edit]
vlo prvky
(veejn lensk funkce) [edit]
(C++11)
vlo, konstruuje prvek pmo v mst vloen
(veejn lensk funkce) [edit]
odstran prvky
(veejn lensk funkce) [edit]
pid prvek na konec
(veejn lensk funkce) [edit]
pid, konstruuje prvek pmo na konci vektoru
(veejn lensk funkce) [edit]
odstran posledn prvek
(veejn lensk funkce) [edit]
penastav poet prvk
(veejn lensk funkce) [edit]
prohod obsahy
(veejn lensk funkce) [edit]

Nelensk funkce

porovn dvojici kontejner vector lexikografickm porovnnm prvk
(ablona funkce) [edit]
specializace algoritmu std::swap
(ablona funkce) [edit]

Web Proxy Viewer  |  New URL  |  Original Page