-
Data: 2010-09-16 16:24:15
Temat: Re: Zagwozdka - wyjątek w konstruktorze?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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...)
Wracając do tematu - tak jak pisał Qrczak - obiekty będą zniszczone,
delete wywołane.
Krótki przykład:
#include <iostream>
using namespace std;
char tab[100];
struct Bar{
Bar(){cout <<"Bar"<<endl;}
~Bar(){cout <<"~Bar"<<endl;}
};
class Foo{
Bar b;
public: Foo(){cout <<"Foo"<<endl;throw 1;}
~Foo(){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;
}
}
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 16.09.10 18:51 Bronek Kozicki
- 16.09.10 07:19 klops
- 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-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją