-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin3!gobli
n.stu.neva.ru!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!news.glorb.com!n
ews2.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!novia!nx02.iad01
.newshosting.com!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting
.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neost
rada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Thu, 16 Sep 2010 09:19:01 +0200
From: klops <k...@k...pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.9) Gecko/20100825
Thunderbird/3.1.3
MIME-Version: 1.0
Newsgroups: pl.comp.programming
Subject: Re: Zagwozdka - wyjątek w konstruktorze?
References: <op.vi24nsup8x7o78@notebook>
<4c921c50$0$22795$65785112@news.neostrada.pl> <i6tg8u$172$1@news.onet.pl>
In-Reply-To: <i6tg8u$172$1@news.onet.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 71
Message-ID: <4c928eb7$0$22812$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.20.4.77
X-Trace: 1284673207 unt-rea-b-01.news.neostrada.pl 22812 83.20.4.77:51788
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:186861
[ ukryj nagłówki ]W dniu 2010-09-16 18:24, Michoo pisze:
> W dniu 16.09.2010 01:10, klops pisze:
>> Odpowiadam, bo dotychczasowe odpowiedzi są raczej słabe...
>>
>> Gdy rzucasz wyjątek w konstruktorze, to:
>> 1. Zmienne utworzone na stosie zostaną prawidłowo zlikwidowane.
>> 2. Zmienne utworzone na stercie (new) nie zostaną usunięte.
>>
>> Aby zaradzić 2. należy używać inteligentnych wkaźników (lub czegoś
>> podobnego) tworzonych na stosie, np. auto_ptr.
> Dlaczego okłamujesz Wojciecha? (No chyba że to zwykła ignorancja a nie
> zła wola? Ale lansowaleś się na kogoś mającego pojęcie o języku...)
Masz rację, że lansuję się tu na max. Więc nie mogłem obejść twego postu
obojętnie...
Wracając do tematu, zastanów się nad tym (może bozia pozwoli dostrzec
problem o którym wzmiankowałem...):
#include <iostream>
using namespace std;
char tab[100];
struct Bar{
Bar(){cout <<"Bar"<<endl;}
~Bar(){cout <<"~Bar"<<endl;}
};
class Foo{
Bar* b;
public:
Foo()
{
b = new Bar();
cout <<"Foo"<<endl;
throw 1;
}
~Foo()
{
delete b;
cout <<"~Foo"<<endl;
}
static void * operator new (size_t size)
{
cout <<"new"<<endl;
return (Foo*)tab;
}
static void operator delete (void *p, size_t size)
{
cout <<"delete"<<endl;
}
};
main()
{
try{
Foo *f=new Foo();
}
catch(...){
cout <<"catch"<<endl;
}
}
>trhow.exe
new
Bar
Foo
delete
catch
Dla podpowiedzi: b wyciekło...
Następne wpisy z tego wątku
- 16.09.10 22:40 Michoo
- 16.09.10 15:46 klops
- 17.09.10 06:49 Bronek Kozicki
- 17.09.10 11:00 Michoo
- 17.09.10 11:47 Wojciech \"Spook\" Sura
- 16.09.10 22:00 klops
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem