Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: Mrovqa
Język C++

basic_string::reserve

[metoda] Zapewnia określoną pojemność pojemnika.

Składnia

C/C++
#include <string>

namespace std
{
    template <
    class TypZnaku,
    class CechowanieZnakow = char_traits < TypZnaku >,
    class Alokator = allocator < TypZnaku >
    >
    class basic_string
    {
    public:
        void reserve( size_type _n = 0 );
       
    }; //class basic_string
} //namespace std

Argumenty

ArgumentOpis
_nNowy rozmiar zaalokowanej pamięci.

Opis szczegółowy

Metoda zapewnia, by ilość zaalokowanej pamięci » standard C++ » basic_stringcapacity wynosiła co najmniej _n. W przypadku _n mniejszego aktualnej ilości zaalokowanej pamięci kontener z powodów optymalizacyjnych nie musi się kurczyć, może pozostać bez zmian. W przeciwnej sytuacji, gdzie trzeba zaalokować więcej pamięci, kontener może zaalokować jej więcej.

Rzucane wyjątki

Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.

Jeżeli _n jest większe od wartości zwracanej przez » standard C++ » basic_stringmax_size, to zostanie rzucony » standard C++length_error.
Jeżeli szablon korzysta z domyślnego alokatora, to » standard C++bad_alloc zostanie rzucony, gdy funkcja będzie chcieć zaalokować pamięć i operacja się nie powiedzie.

Przykład

C/C++
#include <iostream>
#include <string>

typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
    MojString str( "Test string" );
    std::cout << "1. Rozmiar zaalokowanej pamieci: " << str.capacity() << '\n';
    str.reserve( 100 );
    std::cout << "2. Rozmiar zaalokowanej pamieci: " << str.capacity() << '\n';
    return 0;
}
Standardowe wyjście programu:
1. Rozmiar zaalokowanej pamieci: 15
2. Rozmiar zaalokowanej pamieci: 111

Zagadnienia powiązane

capacityZwraca ilość zaalokowanej przestrzeni pamięciowej wyrażonej w liczbie znaków. (metoda)
shrink_to_fitDopasowywuje ilość zaalokowanej pamięci do rozmiaru obiektu. (metoda)
resizeZmienia rozmiar obiektu. (metoda)
max_sizeZwraca maksymalny możliwy rozmiar kontenera. (metoda)

Linki zewnętrzne