(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 functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deduction guides(C++17) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
void resize( size_type count); | (1) | (constexpr since C++26) |
void resize( size_type count,const value_type& value); | (2) | (constexpr since C++26) |
Resizes the container to containcount elements:
Contents |
| count | - | new size of the container | ||
| value | - | the value to initialize the new elements with | ||
| Type requirements | ||||
-
| ||||
Linear in the difference between the current size andcount.
If value-initialization in overload(1) is undesirable, for example, if the elements are of non-class type and zeroing out is not needed, it can be avoided by providing acustomAllocator::construct.
#include <list>#include <iostream> void print(auto rem,conststd::list<int>& c){for(std::cout<< rem;constint el: c)std::cout<< el<<' ';std::cout<<'\n';} int main(){std::list<int> c={1,2,3}; print("The list holds: ", c); c.resize(5); print("After resize up to 5: ", c); c.resize(2); print("After resize down to 2: ", c); c.resize(6,4); print("After resize up to 6 (initializer = 4): ", c);}
Output:
The list holds: 1 2 3After resize up to 5: 1 2 3 0 0After resize down to 2: 1 2After resize up to 6 (initializer = 4): 1 2 4 4 4 4
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 132 | C++98 | random-access iterators were used to determine the erase range | use bidirectional iterators |
| LWG 679 | C++98 | resize() passedvalue by value | passes by const reference |
| LWG 1420 | C++98 | the behavior ofresize(size()) was not specified | specified |
| returns the maximum possible number of elements (public member function)[edit] | |
| returns the number of elements (public member function)[edit] | |
| checks whether the container is empty (public member function)[edit] |