Namensräume
Varianten
Aktionen

C + + Konzepte: Container

Aus cppreference.com
< cpp‎ | concept

 
 
C + + Konzepte
Basic
Original:
Basic
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Library-Wide
Original:
Library-Wide
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Container
Original:
Container
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Container-Elemente
Original:
Container Elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Iterator
Original:
Iterator
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Zufallszahlen
Original:
Random Numbers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Concurrency
Original:
Concurrency
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
BasicLockable(C++11)
Lockable(C++11)
TimedLockable(C++11)
Mutex(C++11)
TimedMutex(C++11)
Andere
Original:
Other
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
A Container ist ein Objekt verwendet werden, um andere Objekte zu speichern und kümmert sich um die Verwaltung des Speichers durch die darin enthaltenen Objekte verwendet .
Original:
A Container is an object used to store other objects and taking care of the management of the memory used by the objects it contains.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Inhaltsverzeichnis

[Bearbeiten] Anforderungen

  • C Container-Typ
    Original:
    C Container type
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • T Elementtyp
    Original:
    T Element type
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • a, b Objekte vom Typ C
    Original:
    a, b Objects of type C
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten] Types

name type notes
value_type T Destructible
reference lvalue of T
const_reference const lvalue of T
iterator iterator pointing to T ForwardIterator
convertible to const_iterator
const_iterator const iterator pointing to T ForwardIterator
difference_type signed integer must be the same as iterator_traits::difference_type for iterator and const_iterator
size_type unsigned integer large enough to represent all positive values of difference_type

[Bearbeiten] Methoden und Operatoren

expression return type semantics conditions complexity
C(); C Creates an empty container Post: u.empty() == true Constant
C(a) C Create a copy of a Pre: T must be CopyInsertable
Post: a == X(a)
Linear
a = b C& All elements of a are destroyed or move assigned to elements of b Post: a == b Linear
(&a)->~C() void Destroy all elements and free all memory Linear
a.begin() (const_)iterator Iterator to the first element Constant
a.end() (const_)iterator Iterator to one passed the last element Constant
a.cbegin()(seit C++11) const_iterator const_cast<const C&>(a).begin() Constant
a.cend()(seit C++11) const_iterator const_cast<const C&>(a).end() Constant
a == b convertible to bool Makes C EqualityComparable Pre: T must be EqualityComparable Linear
a != b convertible to bool !(a==b) Linear
a.swap(b) void exchanges the values of a and b Constant[1][2]
swap(a,b) void a.swap(b) Constant[1]
a.size() size_type distance(a.begin(),a.end()) Constant[2]
a.max_size() size_type b.size() where b is the largest possible container Constant[2]
a.empty() convertible to bool a.begin() == a.end() Constant
notes
  1. 1,0 1,1 (seit C++11) Linear for std::array
  2. 2,0 2,1 2,2 (bis C + +11) Not strictly constant

[Bearbeiten] Container Daten Rennen

Implementierungen sind nicht verpflichtet, Reentranz Garantie für Sequenz-Modifikationen stellen - es ist nicht sicher, push_back und lesen begin gleichzeitig. Es ist jedoch erforderlich, um Daten Rennen zu vermeiden, wenn der Inhalt des enthaltenen Objekt in verschiedenen Elemente derselben Sequenz gleichzeitig (mit Ausnahme vector<bool>) modifiziert sind. Mit anderen Worten, für eine vector<int> mit größer als 1 ist, und x[1] = 5 *x.begin() = 10 nicht in einem Daten-Rennen führen .
Original:
Implementations are not required to provide any reentrancy guarantee for sequence modifications - it is not safe to push_back and read begin concurrently. However, it is required to avoid data races when the contents of the contained object in different elements of the same sequence are modified concurrently (except for vector<bool>). In other words, for a vector<int> with size greater than 1, x[1] = 5 and *x.begin() = 10 will not result in a data race.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Diese Funktionen müssen ebenfalls berücksichtigt werden const: begin, end, rbegin, rend, front, back, data, find, lower_bound, upper_bound, equal_range, at, und, außer in AssociativeContainer und UnorderedAssociativeContainer, operator[]. Aufruf einer dieser Funktionen gleichzeitig nicht in einem Datensatz Rennen führen .
Original:
These functions must also be considered const: begin, end, rbegin, rend, front, back, data, find, lower_bound, upper_bound, equal_range, at, and, except in AssociativeContainer and UnorderedAssociativeContainer, operator[]. Calling any of these functions concurrently will not result in a data race.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten] Andere Konzepte

C
T