eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[c++]Prosta klasa, czemu nie wywołuje destruktorów? › Re: [c++]Prosta klasa, czemu nie wywołuje destruktorów?
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!nemesis.news.n
    eostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: Tomasz Bywalec <t...@p...dont.spam.me.o2.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: [c++]Prosta klasa, czemu nie wywołuje destruktorów?
    Date: Wed, 29 Jul 2009 14:29:12 +0200
    Organization: TP - http://www.tp.pl/
    Lines: 20
    Message-ID: <h4pff0$d7d$1@atlantis.news.neostrada.pl>
    References: <h4n80i$97a$1@mx1.internetia.pl>
    <9e35e$4a6f3ab9$506cdd75$4435@news.chello.at>
    <h4nmmm$eh8$1@mx1.internetia.pl> <h4pd81$ds3$1@news.onet.pl>
    NNTP-Posting-Host: akw6.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: atlantis.news.neostrada.pl 1248870688 13549 83.26.26.6 (29 Jul 2009 12:31:28
    GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Wed, 29 Jul 2009 12:31:28 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
    In-Reply-To: <h4pd81$ds3$1@news.onet.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:182901
    [ ukryj nagłówki ]

    Tomasz Kaczanowski pisze:
    [...]
    >
    > Nie - jest bardzo dobrze - to co jest allokowane przez obiekt, czyścić
    > powinien obiekt, jeśli ty allokujesz, to powinieneś ty zwalniać. Jeśli
    > byłoby inaczej, nigdy byś nie wiedział, co zwalniać, a co nie i wtedy
    > byłby bałagan.
    >

    Wydaje mi się, że przeoczyłeś fakt, że w oryginalnym kodzie P.K.D.
    "delete this;" jest wywoływane w destruktorze. Pod pewnymi warunkami
    jest to dopuszczalne w innych metodach obiektu, ale użycie tego w
    destruktorze może tylko narobić problemów. Jeżeli obiekt został
    utworzony na stosie to instrukcja ta bodajże doprowadzi do UB, jeśli
    natomiast obiekt znajduje się na stercie to "delete ten_obiekt;" zostało
    już wywołane i na pewno nie ma potrzeby wywoływania go ponownie na tym
    samym obiekcie.

    Pozdrawiam,
    Tomek Bywalec

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: