-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.comp.programming
Subject: Re: Zagwozdka - wyjątek w konstruktorze?
Date: Thu, 16 Sep 2010 18:24:15 +0200
Organization: http://onet.pl
Lines: 51
Message-ID: <i6tg8u$172$1@news.onet.pl>
References: <op.vi24nsup8x7o78@notebook>
<4c921c50$0$22795$65785112@news.neostrada.pl>
NNTP-Posting-Host: c6-100.icpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1284654174 1250 62.21.6.100 (16 Sep 2010 16:22:54 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Thu, 16 Sep 2010 16:22:54 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.10) Gecko/20100619
Icedove/3.0.5
In-Reply-To: <4c921c50$0$22795$65785112@news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:186858
[ ukryj 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
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=