Przestrzenie nazw
Warianty
Działania

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

Spis treści

[edytuj] 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).

[edytuj] Zwracana wartość

(brak)

[edytuj] 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.

[edytuj] 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

[edytuj] Zobacz także

wstawia elementy za wskazanym elementem
(publiczna metoda) [edit]
usuwa element za wskazanym elementem
(publiczna metoda) [edit]