C + + Konzepte: SequenceContainer – cppreference.com
Aus cppreference.com
<metanoindex/>
A SequenceContainer ist ein Container die Objekte speichert des gleichen Typs in einer linearen Anordnung .
Original:
A SequenceContainer is a Container that stores objects of the same type in a linear arrangement.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Anforderungen
Legend Original: Legend The text has been machine-translated via Google Translate. | |
X
|
Container-Typ Original: Container type The text has been machine-translated via Google Translate. |
T
|
Element-Typ Original: Element type The text has been machine-translated via Google Translate. |
a, b
|
Objekte vom Typ Original: Objects of type The text has been machine-translated via Google Translate. |
t
|
Objekt des Typs Original: Object of type The text has been machine-translated via Google Translate. |
n
|
Positive Ganzzahl Original: Positive integer The text has been machine-translated via Google Translate. |
i, j
|
Original:
The text has been machine-translated via Google Translate. |
il
|
std::initializer_list<T> |
args
|
Parameter Pack Original: Parameter pack The text has been machine-translated via Google Translate. |
p, q
|
const_iterators in Original: const_iterators in The text has been machine-translated via Google Translate. |
| expression | return type | effects | precondition | postcondition |
|---|---|---|---|---|
X(n,t) |
Constructs a SequenceContainer containing n copies of t |
T CopyInsertable |
std::distance(begin(),end()) == n
| |
X(i,j) |
Constructs a SequenceContainer equivalent to the range [i,j)
|
|
std::distance(begin(),end()) == std::distance(i,j)
| |
X(il) |
X(il.begin(),il.end) |
|||
a = il |
X& |
Assigns the range represented by il into a
|
T CopyInsertable and CopyAssignable
|
Existing elements of a are destroyed or assigned to
|
a.emplace(p,args) |
iterator | Insert an object constructed with std::forward<Args>(args) before p
|
|
|
a.emplace(p,t) |
iterator | Inserts a copy of t before i
|
|
|
a.insert(p,n,t) |
iterator | Inserts n copies of t before i
|
T CopyInsertable and CopyAssignable
|
|
a.insert(p,i,j) |
iterator | Inserts copies of elements in [i, j) before p
|
|
Each iterator in [i,j) is dereferenced once
|
a.insert(p, il) |
iterator | a.insert(p,il.begin(),il.end()) |
||
a.erase(q) |
iterator | Erases the element pointed to by q | (std :: deque, std :: vector) T MoveAssignable
|
|
a.erase(p,q) |
iterator | Erases elements in [p,q) |
(std :: deque, std :: vector) T MoveAssignable |
|
a.clear() |
void | Destroys all elements in a |
| |
a.assign(i,j) |
void | Replaces elements in a with a copy of [i, j)
|
|
Each iterator in [i,j) is dereferenced once
|
a.assign(il) |
void | a.assign(il.begin(),il.end()) |
||
a.assign(n,t) |
void | Replaces elements in a with n copies of t
|
T CopyInsertable and CopyAssignable
|
Optional Operations
SequenceContainers in der Standard-Bibliothek
(seit C++11) |
statische zusammenhängende Array Original: static contiguous array The text has been machine-translated via Google Translate. (Klassen-Template) [edit] |
dynamischen zusammenhängende Array Original: dynamic contiguous array The text has been machine-translated via Google Translate. (Klassen-Template) [edit] | |
double-ended Queue Original: double-ended queue The text has been machine-translated via Google Translate. (Klassen-Template) [edit] | |
(seit C++11) |
einfach verkettete Liste (Klassen-Template) [edit] |
| doppelt verkettete Liste (Klassen-Template) [edit] | |
Trade-offs / Nutzung Notizen
| std::array | Schneller Zugriff, aber feste Anzahl von Elementen Original: Fast access but fixed number of elements The text has been machine-translated via Google Translate. |
| std::vector | Schneller Zugriff aber meist ineffizienten Insertionen / Deletionen Original: Fast access but mostly inefficient insertions/deletions The text has been machine-translated via Google Translate. |
| std::list std::forward_list |
Effizienten Einfügen / Löschen in der Mitte der Sequenz Original: Efficient insertion/deletion in the middle of the sequence The text has been machine-translated via Google Translate. |
| std::deque | Effizienten Einfügen / Löschen am Anfang und am Ende der Sequenz Original: Efficient insertion/deletion at the beginning and at the end of the sequence The text has been machine-translated via Google Translate. |