Czyszczenie zawartości vektora.

Odpowiedz Nowy wątek
2012-01-14 12:28
0

Witam,
wiem, może to banalne pytanie, ale chciałbym wyczyścić (usunąć wszystkie dane z wektora) i pozostawić go w takim stanie jaki był po utworzeniu (chcę go potem dalej używać).
Jak to zrobić?
Gdy programowalem w jakimś innym języku wystarczyło:

 zmienna = new typ_zmiennej;

natomiast w C++ tak się nie da :P

Pozostało 580 znaków

2012-01-14 12:35
blee
0

http://www.cplusplus.com/reference/stl/vector/

chyba, że wektorem nazywasz coś innego. Poczytaj jakąś książkę albo tutek bo "na czuja" języka się nie nauczysz :]

Pozostało 580 znaków

2012-01-14 13:04
0

Ale jak proponował byś mi szybko usunąć jego zawartość?

Pozostało 580 znaków

2012-01-14 13:14
Krycho
0

Zajrzales w ogole na strone dana przez bee? Chyba nie bo tam masz dokladnie opisane funkcje klasy vector(nawet z przykladami). W tym czyszczenie...

Pozostało 580 znaków

2012-01-15 10:34
0

Wybaczcie przeoczyłem.

myvector.clear(); 
edytowany 1x, ostatnio: Losiu22, 2012-01-15 10:34

Pozostało 580 znaków

2012-01-15 11:10
0

to nie zwalnia pamieci tylko go czysci - vector tylko realokuje pamiec jak mu jej brakuje, a w druga strone to nie dziala. jesli by interesowalo Cie rowniez zeby zwolnil pamiec to:

vector<X> aaa;
//tutaj jakies operacje na aaa
// czyszczenie:
aaa = vector<X>();

w większości przypadków będzie to bezużyteczne, ale czasami zdarza się tworzyć na prawdę duże wektory to wtedy warto je trochę opróżnić


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq, 2012-01-15 11:10

Pozostało 580 znaków

2012-01-15 12:58
0

albo

vector<Typ> aaa;
(...)
vector<Typ>().swap(aaa);

poza tym proponowałbym sprawdzić kod:

vector<int> v(100000, 1111111);
cout << static_cast<int>(v.capacity()) << "\n";

v = vector<int>();
cout << static_cast<int>(v.capacity()) << "\n";

vector<int>().swap(v);
cout << static_cast<int>(v.capacity()) << "\n";

"..."
"odp"
"qtMaster"
edytowany 1x, ostatnio: matek3005, 2012-01-15 13:07

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0