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::shrink_to_fit

[metoda] Dopasowywuje ilość zaalokowanej pamięci do rozmiaru obiektu.

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 shrink_to_fit();
       
    }; //class basic_string
} //namespace std

Opis szczegółowy

Metoda dopasowywuje ilość zarezerwowanej pamięci (» standard C++ » basic_stringcapacity) do wielkości obiektu (» standard C++ » basic_stringsize), jednakże z powodów optymalizacyjnych ilość zarezerwowanej pamięci może być większa wielkości obiektu.

Rzucane wyjątki

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

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( 100, 'x' );
    std::cout << "1. Rozmiar str: " << str.capacity() << '\n';
   
    str.resize( 10 );
    std::cout << "2. Rozmiar str: " << str.capacity() << '\n';
   
    str.shrink_to_fit();
    std::cout << "3. Rozmiar str: " << str.capacity() << '\n';
   
    return 0;
}
Przykładowe wyjście programu:
1. Rozmiar str: 111
2. Rozmiar str: 111
3. Rozmiar str: 15

Zagadnienia powiązane

capacityZwraca ilość zaalokowanej przestrzeni pamięciowej wyrażonej w liczbie znaków. (metoda)
reserveZapewnia określoną pojemność pojemnika. (metoda)
resizeZmienia rozmiar obiektu. (metoda)
clearUsuwa całą zawartość stringa. (metoda)

Linki zewnętrzne