std::forward_list::resize(3)
π std::forward_list::resize(3) π
okay so bestie, welcome to the C++ Standard Libary page for std::forward_list::resize π
this one is lowkey simple but you will understand it, fr fr.
β¨ NAME β¨
std::forward_list::resize β std::forward_list::resize
like yes, the name is literally the name. iconic behavior tbh π
π¦ Synopsis π¦
two overloads, both since C++11, no cap:
void resize( size_type count ); (1) (since C++11)
void resize( size_type count, const value_type& value ); (2) (since C++11)
So this resizes the container so it holds count elements. If count == std::distance(begin(), end()) β basically if count already equals the current size β it does absolutely nothing, periodt.
If the current size is greater than count, the container gets reduced to its first count elements.
If the current size is less than count:
- additional default-inserted elements are appended.
- additional copies of
valueare appended.
πΈ Parameters πΈ
countβ new size of the containervalueβ the value to initialize the new elements with
π Type requirements π
Tmust meet the requirements of DefaultInsertable in order to use overload (1).Tmust meet the requirements of CopyInsertable in order to use overload (2).
π«Ά Return value π«Ά
(none)
like, nothing. empty. no notes. π
π₯ Complexity π₯
Linear in the difference between the current size and count. Additional complexity possible due to list traversal to reach the first element to erase/the end position to insert.
π 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. slay, customization π
π Example π
// Run this code
#include <forward_list>
#include <iostream>
void print(auto rem, const std::forward_list<int>& c)
{
for (std::cout << rem; const int el : c)
std::cout << el << ' ';
std::cout << '\n';
}
int main()
{
std::forward_list<int> c = {1, 2, 3};
print("The forward_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 forward_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
π See also π
insert_afterβ inserts elements after an element (public member function)erase_afterβ erases an element after an element (public member function)
mwah π β source: http://cppreference.com; version/date: 2024.06.10; page: std::forward_list::resize(3) π¦
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms