<div class="t-tr-text">Concepts C + +:<div class="t-tr-dropdown"><div><div><div class="t-tr-dropdown-arrow-border"></div><div class="t-tr-dropdown-arrow"></div><div class="t-tr-dropdown-h">Original:</div><div class="t-tr-dropdown-orig">C++ concepts:</div><div class="t-tr-dropdown-notes">The text has been machine-translated via [http://translate.google.com Google Translate].<br/> You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.</div></div></div></div></div> Container
De cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Un
Container
est un objet utilisé pour stocker d'autres objets et en prenant soin de la gestion de la mémoire utilisée par les objets qu'il contient .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.
You can help to correct and verify the translation. Click here for instructions.
Sommaire |
[modifier]Exigences
- Type de conteneur
C
Original:C
Container typeThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Type d'élément
T
Original:T
Element typeThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. a
,b
Objets deC
typeOriginal:a
,b
Objects of typeC
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[modifier]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 |
[modifier]Méthodes et les opérateurs
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() (depuis C++11) | const_iterator | const_cast<const C&>(a).begin() | Constant | ||
a.cend() (depuis 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 | |||||
[modifier]De données de conteneurs courses
Les implémentations ne sont pas tenus de fournir une garantie pour les modifications de séquence réentrance - il n'est pas sûr de
push_back
et lire begin
simultanément. Cependant, il est nécessaire d'éviter les concurrences de données lorsque le contenu de l'objet contenu dans des éléments différents de la même séquence sont modifiés en même temps (sauf pour vector<bool>
). En d'autres termes, pour un vector<int>
avec une taille supérieure à 1, x[1] = 5
et *x.begin() = 10
n'aboutira pas à une race de données .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.
You can help to correct and verify the translation. Click here for instructions.
Ces fonctions doivent également être considérés
const
: begin
, end
, rbegin
, rend
, front
, back
, data
, find
, lower_bound
, upper_bound
, equal_range
, at
, et, sauf dans AssociativeContainer
et UnorderedAssociativeContainer
, operator[]
. L'appel à ces fonctions en même temps ne donnera pas lieu à une course de données .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.
You can help to correct and verify the translation. Click here for instructions.
[modifier]D'autres concepts
- C
- T