vector::vector
Erstellt einen Vektor einer bestimmten Größe bzw. mit Elementen eines bestimmten Werts oder mit einer bestimmten Zuweisung oder als vollständige bzw. teilweise Kopie eines anderen Vektors. Elemente werden in einem zusammenhängenden Speicherblock gespeichert, und Speicherzuordnungen werden entweder von der Standardzuweisung oder von einer benutzerdefinierten Zuweisung, die Sie angeben, verwaltet.
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 );
Parameter
Parameter |
Beschreibung |
Al |
Die mit diesem Objekt zu verwendende Zuweisungsklasse. get_allocator gibt die Zuweisungsklasse für das Objekt zurück. |
Count |
Die Anzahl der Elemente im erstellten Vektor. |
Val |
Der Wert der Elemente im erstellten Vektor. |
Right |
Der Vektor, dessen Kopie der erstellte Vektor ist. |
First |
Die Position des ersten Elements in dem zu kopierenden Elementbereich. |
Last |
Die Position des ersten Elements nach dem zu kopierenden Elementbereich. |
IList |
Das initializer_list-Element, in dem die zu kopierenden Elemente enthalten sind. |
Hinweise
Von allen Konstruktoren wird ein Zuweisungsobjekt (Al) gespeichert und der Vektor initialisiert.
Die ersten beiden Konstruktoren geben einen leeren ursprünglichen Vektor an. Der zweite gibt explizit den zu verwendenden Zuweisungstyp an (Al).
Der dritte Konstruktor gibt eine Wiederholung einer angegebenen Anzahl (Count) von Elementen des Standardwerts für die Klasse Type an.
Die vierten und fünften Konstruktoren geben eine Wiederholung von (Count) Elementen des Werts Val an.
Der sechste Konstruktor gibt eine Kopie des Vektors Right an.
Mit dem siebten Konstruktor wird der Right-Vektor verschoben.
Beim achten Konstruktor wird zum Angeben des Elements ein initializer_list-Element verwendet.
Mit den neunten und zehnten Konstruktoren wird der Bereich [First, Last) eines Vektors kopiert.
Beispiel
// 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;
}
Anforderungen
Header: <vector>
Namespace: std