std::list<T,Allocator>::resize - cppreference.com

From cppreference.com

voidresize(size_typecount); (1)voidresize(size_typecount,constvalue_type&value); (2)Resizes the container to contain count elements, does nothing if count==size().

If the current size is greater than count, the container is reduced to its first count elements.

If the current size is less than count, then:

2) Additional copies of value are appended.

Parameters

count - new size of the container value - the value to initialize the new elements with Type requirements -T must meet the requirements of

DefaultInsertable

in order to use overload (1). -T must meet the requirements of

CopyInsertable

in order to use overload (2). Complexity

Linear in the difference between the current size and count.

Notes

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 a

custom Allocator::construct

.

Example

Run this code

#include<list>#include<iostream>voidprint(autorem,conststd::list<int>&c){for(std::cout<<rem;constintel:c)std::cout<<el<<' ';std::cout<<'\n';}intmain(){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 3 After resize up to 5: 1 2 3 0 0 After resize down to 2: 1 2 After resize up to 6 (initializer = 4): 1 2 4 4 4 4 Defect reports

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() passed value by value passes by const reference

LWG 1420

C++98 the behavior of resize(size()) was not specified specified See also

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]