vector::vector
Sestaví vektor určité velikosti, s elementy s konkrétní hodnotou, s konkrétním alokátorem nebo jako kopii celého existujícího vektoru nebo jeho části.Elementy jsou uloženy v bloku souvislé paměti a přidělení paměti jsou spravována tak, že přidělení výchozí nebo vlastní přidělení, který zadáte.
vector( ); explicit vector( const Allocator& Al ); explicit vector( size_type Count ); vector( size_type Count, const Type& Val ); vector( size_type Count, const Type& Val, const Allocator& Al ); vector( const vector& Right ); vector( vector&& Right ); vector( initializer_list<Type> IList, const _Allocator& Al ); template<class InputIterator> vector( InputIterator First, InputIterator Last ); template<class InputIterator> vector( InputIterator First, InputIterator Last, const Allocator& Al );
Parametry
Parametr |
Popis |
Al |
Třída alokátoru, která se má použít s tímto objektem.Metoda get_allocator vrátí třídu alokátoru pro objekt. |
Count |
Počet prvků ve vytvořeném vektoru. |
Val |
Hodnota prvků v sestaveném vektoru. |
Right |
Vektor, jehož bude vytvořený vektor kopií. |
First |
Pozice prvního prvku v rozsahu od prvků, které mají být zkopírována. |
Last |
Pozice prvního prvku mimo oblast prvků, které mají být zkopírována. |
IList |
Initializer_list, obsahující prvky, které se má kopírovat. |
Poznámky
Všechny konstruktory ukládají objekt alokátoru (Al) a inicializují vektor.
První dva konstruktory určují prázdný počáteční vektor.Druhý explicitně určuje typ alokátoru (Al), který bude použit.
Třetí konstruktor určuje opakování zadaného počtu (Count) prvků výchozí hodnoty pro třídu Type.
Zadejte konstruktory čtvrtého a pátého opakování (Count) elementy hodnoty Val.
Šestý konstruktor určuje kopii vektoru Right.
Sedmý konstruktor přesune vektor Right.
Osmý konstruktor používá k určení prvků objekt initializer_list.
Devátý a desátý konstruktor zkopíruje rozsah [First, Last) vektoru.
Příklad
// vector_ctor.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
int main()
{
using namespace std;
vector <int>::iterator v1_Iter, v2_Iter, v3_Iter, v4_Iter, v5_Iter, v6_Iter;
// Create an empty vector v0
vector <int> v0;
// Create a vector v1 with 3 elements of default value 0
vector <int> v1(3);
// Create a vector v2 with 5 elements of value 2
vector <int> v2(5, 2);
// Create a vector v3 with 3 elements of value 1 and with the allocator
// of vector v2
vector <int> v3(3, 1, v2.get_allocator());
// Create a copy, vector v4, of vector v2
vector <int> v4(v2);
// Create a new temporary vector for demonstrating copying ranges
vector <int> v5(5);
for (auto i : v5) {
v5[i] = i;
}
// Create a vector v6 by copying the range v5[_First, _Last)
vector <int> v6(v5.begin() + 1, v5.begin() + 3);
cout << "v1 =";
for (auto& v : v1){
cout << " " << v;
}
cout << endl;
cout << "v2 =";
for (auto& v : v2){
cout << " " << v;
}
cout << endl;
cout << "v3 =";
for (auto& v : v3){
cout << " " << v;
}
cout << endl;
cout << "v4 =";
for (auto& v : v4){
cout << " " << v;
}
cout << endl;
cout << "v5 =";
for (auto& v : v5){
cout << " " << v;
}
cout << endl;
cout << "v6 =";
for (auto& v : v6){
cout << " " << v;
}
cout << endl;
// Move vector v2 to vector v7
vector <int> v7(move(v2));
vector <int>::iterator v7_Iter;
cout << "v7 =";
for (auto& v : v7){
cout << " " << v;
}
cout << endl;
vector<int> v8{ { 1, 2, 3, 4 } };
for (auto& v : v8){
cout << " " << v ;
}
cout << endl;
}
Požadavky
Záhlaví: < vektoru >
Obor názvů: std