-
Data: 2010-09-16 07:19:01
Temat: Re: Zagwozdka - wyjątek w konstruktorze?
Od: klops <k...@k...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=
- 2024-07-12 Częstochowa => Specjalista ds. Marketingu (E-Commerce) <=