sobota, 29 grudnia 2007

Funkcja erase( key ) w strukturze multiset

Czy wiesz co wypisze następujący kawałek kodu?
multiset<int> S;
S.insert(90); // wstaw 90 do zbioru S
S.insert(90); // jeszcze raz
S.erase(90);
if (S.empty()) printf("Zbiór S jest pusty.");

Program wypisze, że zbiór jest pusty.
Dzieje się tak dlatego, iż procedura erase(key) usuwa wszystkie elementy o kluczach key. Dziwne? Wiem, bo w dokumentacji piszą co innego.

Jeśli chcesz usunąć dokładnie jeden element z multiset'a, to powinieneś zrobić to tak:
S.erase( S.find(90) );

piątek, 21 grudnia 2007

Wyjście ze szpitala

Przed chwilą wyszedłem ze szpitala. Z powodu Świąt prawie wszystkich wypisano z oddziału.
Mam się stawić z powrotem 15 stycznia 2008 r. Mam nadzieję, że już tak długo nie będe musiał tam leżeć.

Zaraz po wyjściu odwiedziłem mój Instytut Informatyki. Stwierdziłem, że wesprę Fundację TVN i przeznaczę trochę pieniędzy na szpitale dla dzieci.

Zalogowałem sie na allegro.pl i upolowałem aż trzy misie : www.kupmisia.allegro.pl

Przez ponad tydzień leżenia w szpitalu miałem dostatecznie duzo czasu, aby obmyślić sobie sposób superszybkiego kupowania tych Misiów; aukcje kończą się po kilku sekundach.

Mam swojego Misia MARZYCIELA, o którym marzyłem w będąc w szpitalu. Jestem w pełni szczęścia.

środa, 12 grudnia 2007