std::vector<T,Allocator>:: clear
|
(C++17)
|
||||
| Sequence | ||||
|
(C++11)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
(C++11)
|
||||
| Associative | ||||
| Unordered associative | ||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
|
(C++11)
|
||||
| Adaptors | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
| Views | ||||
|
(C++20)
|
||||
|
(C++23)
|
||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deduction guides (C++17) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
void
clear
(
)
;
|
(noexcept depuis C++11)
(constexpr depuis C++20) |
|
Efface tous les éléments du conteneur. Après cet appel, size() retourne zéro.
Invalide toutes les références, pointeurs et itérateurs se référant aux éléments contenus. Tous les itérateurs de fin sont également invalidés.
Table des matières |
Complexité
Linéaire dans la taille du conteneur, c'est-à-dire le nombre d'éléments.
Notes
L'appel de
clear()
n'affecte pas le résultat de
capacity()
. La restriction de la norme sur les modifications de la capacité se trouve dans la spécification de
reserve()
, voir
SO
.
Exemple
#include <iostream> #include <string_view> #include <vector> void print_info(std::string_view rem, const std::vector<int>& v) { std::cout << rem << "{ "; for (const auto& value : v) std::cout << value << ' '; std::cout << "}\n"; std::cout << "Size=" << v.size() << ", Capacity=" << v.capacity() << '\n'; } int main() { std::vector<int> container{1, 2, 3}; print_info("Before clear: ", container); container.clear(); print_info("After clear: ", container); }
Sortie :
Before clear: { 1 2 3 }
Size=3, Capacity=3
After clear: { }
Size=0, Capacity=3
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | S'applique à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2231 | C++11 | la garantie de complexité a été omise par erreur dans C++11 | la complexité réaffirmée comme linéaire |
Voir aussi
|
efface les éléments
(fonction membre publique) |