eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[c++]Prosta klasa, czemu nie wywołuje destruktorów? › [c++]Prosta klasa, czemu nie wywołuje destruktorów?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!new
    s.nask.org.pl!news.internetia.pl!not-for-mail
    From: "P.K.D" <g...@g...com>
    Newsgroups: pl.comp.programming
    Subject: [c++]Prosta klasa, czemu nie wywołuje destruktorów?
    Date: Tue, 28 Jul 2009 18:00:41 +0200
    Organization: Netia S.A.
    Lines: 32
    Message-ID: <h4n80i$97a$1@mx1.internetia.pl>
    NNTP-Posting-Host: 87-205-136-253.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1248797522 9450 87.205.136.253 (28 Jul 2009 16:12:02 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Tue, 28 Jul 2009 16:12:02 +0000 (UTC)
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1b3pre)
    Gecko/20090223 Thunderbird/3.0b2
    X-Server-Info: http://www.internetia.pl/news/
    Xref: news-archive.icm.edu.pl pl.comp.programming:182875
    [ ukryj nagłówki ]

    Tutaj ta klasa: http://paste.dprogramming.com/dpibqklz

    Chodzi o to, że gdy wywołuję server::clearList() to obiekty nie są
    niszczone, chyba dlatego, że lista zawiera wskaźniki. Jak to zrobić i
    czy da się zrobić tak, że destruktory będą wywoływane automatycznie?

    Jak się komuś nie chce linka czytać:

    W kodzie jest:
    server* srv = new server(name, address, port);

    A w konstruktorze
    servers.push_back(this);

    gdzie servers to statyczna w klasie server:
    static std::list<server *> servers;

    no ale gdy wywołuję metodę clear() z std::list nie są wywoływane
    destruktory elementów listy gdzie jest intrukcja:
    delete this;

    przez co nie jest zwalniana pamięć po zakończeniu programu. Chciałbym
    jednak by była i nie wiem jak to zrobić. Z góry dziękuję :)




    --
    Life is great, but still... we're all trapped. Each of us is stuck being
    who we are. Sometimes we fight to change ourselves, but ultimately this
    has little effect. We can change what we do, but we cannot change who we
    are.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: