W opisie funkcji strun :: jasne, to mówi:Czy std :: string :: jasne i std :: list :: jasne kasuje dane z pamięci
jasne: Kasuje zawartość ciągu, który staje się pustym ciągiem znaków (o długości 0 znaków).
W opisie listy :: czytelnej funkcji, to mówi:
jasne: Usuwa wszystkie elementy z kontenera listy (które są zniszczone), pozostawiając pojemnik o rozmiarze z 0.
Czy wyraźne nadpisuje pamięć ciągu i listy lub po prostu je uwolnić?
Nie zwalniaj pamięci. C++ 11 udostępnia funkcję członkowską 'shrink_to_fit', która przynajmniej * żąda * implementacji, aby to zrobić. –
@CodyGray: Byłbym zaskoczony, gdyby 'std :: list' nie zwolnił pamięci na' clear() '... prawdopodobnie myślisz o' std :: vector' zamiast –
@ DavidRodríguez-dribeas - implementacja jest dozwolone do buforowania węzłów list do przyszłego ponownego wykorzystania. Wydaje mi się, że biblioteka Rogue Wave zrobiła to bardzo dużo. –