std::forward_list::resize
Z cppreference.com
void resize( size_type count ); |
(1) | |
void resize( size_type count, const value_type& value ); |
(2) | |
Zmienia wielkość kontenera tak, aby zawierał count elementów.
Jeśli obecny rozmiar jest większy niż count, kontener zostaje zredukowany do count pierwszych elementów.
Jeśli obecny rozmiar jest mniejszy niż count,
1) dodatkowe elementy są domyślnie-wstawiane (default-inserted) na koniec kontenera
2) dodatkowe kopie value dokładane są na koniec kontenera
Parametry
| count | - | nowy rozmiar kontenera |
| value | - | wartość, którą zostaną zainicjalizowane nowe elementy |
| Wymagania względem typów | ||
| -T musi spełniać wymagania DefaultInsertable aby użyć przeciążenia (1). | ||
| -T musi spełniać wymagania CopyInsertable aby użyć przeciążenia (2). | ||
Zwracana wartość
(brak)
Złożoność
Liniowa względem różnicy między obecnym rozmiarem a count. Możliwa dodatkowa złożoność w związku z koniecznością przejścia przez listę w celu dojścia do pierwszego elementu do usunięcia / pozycji na końcu kontenera za którą będą wstawiane elementy.
Przykład
#include <iostream>
#include <forward_list>
int main()
{
std::forward_list<int> c = {1, 2, 3};
std::cout << "The forward_list holds: ";
for(auto& el: c) std::cout << el << ' ';
std::cout << '\n';
c.resize(5);
std::cout << "After resize up 5: ";
for(auto& el: c) std::cout << el << ' ';
std::cout << '\n';
c.resize(2);
std::cout << "After resize down to 2: ";
for(auto& el: c) std::cout << el << ' ';
std::cout << '\n';
}
Wynik:
The forward_list holds: 1 2 3
After resize up 5: 1 2 3 0 0
After resize down to 2: 1 2
Zobacz także
| wstawia elementy za wskazanym elementem (publiczna metoda) | |
| usuwa element za wskazanym elementem (publiczna metoda) |