-
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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)