🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15206

Re: Wyjątki w konstruktorze

#15206
From: Darek Kubiczek
Date: Mon, 28 Aug 2006 10:00
42 lines
2575 bytes
Marcin 'Qrczak' Kowalczyk napisał(a):
> "Darek Kubiczek" <darek_kubiczek@wp.pl> writes:
>
> >> > int priority();
> >> > void processWidget(auto_ptr<Widget> pw, int priority);
> >> > ...
> >> >   processWidget(auto_ptr<Widget>(new Widget), priority());
>
> > Niestety, jest to prawda.
> >
> > http://www.gotw.ca/gotw/056.htm
>
> To jest inna sytuacja. Warunkiem koniecznym, żeby zaszedł opisany tam
> problem, jest żeby istniał argument, którego obliczenie może rzucić
> wyjątek,

priority()

> i *inny* argument, któremu wycieka pamięć, jeśli jego

new Widget

> obliczenie i związanie go z parametrem zostanie przerwane. Tutaj on
> nie zachodzi.

Zachodzi.
Przy ponizszej kolejnosci ewaluacji argumentow

1. new Widget
2. priority()
3. auto_ptr<Widget> (...)

jesli priority() rzuci wyjatek mamy wyciek.

Ostatnia linijka punktu 1 z podanego wczesniej linka jest wlasnie
rozwiazaniem zagadki.

Temat watku moze byc nieco mylacy przy rozwiazywaniu zagadki -
tu nie chodzi o sytuacje w ktorej wyjatek poleci z konstruktora Widget.

D.
Technical Details
Message-ID: <1156759255.046151.193350@h48g2000cwc.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!h48g2000cwc.googlegroups.com!not-for-mail
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> <eci6qt$h30$1@inews.gazeta.pl> <eckrc9$spp$1@inews.gazeta.pl> <1156493859.605197.91940@75g2000cwc.googlegroups.com> <87mz9t3ssq.fsf@qrnik.zagroda>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!h48g2000cwc.googlegroups.com!not-for-mail
From: "Darek Kubiczek" <darek_kubiczek@wp.pl>
Newsgroups: pl.comp.objects
Subject: Re: Wyjątki w konstruktorze
Date: 28 Aug 2006 03:00:55 -0700
Organization: http://groups.google.com
Lines: 44
Message-ID: <1156759255.046151.193350@h48g2000cwc.googlegroups.com>
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com>   <ece4m4$88j$1@inews.gazeta.pl>   <ecesvp$k3h$3@kujawiak.man.lodz.pl>   <eci6qt$h30$1@inews.gazeta.pl>   <eckrc9$spp$1@inews.gazeta.pl>   <1156493859.605197.91940@75g2000cwc.googlegroups.com>   <87mz9t3ssq.fsf@qrnik.zagroda>
NNTP-Posting-Host: 12.47.224.7
Mime-Version: 1.0
X-Trace: posting.google.com 1156759260 11515 127.0.0.1 (28 Aug 2006 10:01:00 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Mon, 28 Aug 2006 10:01:00 +0000 (UTC)
In-Reply-To: <87mz9t3ssq.fsf@qrnik.zagroda>
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; DGD (AutoProxy4); .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe)
X-HTTP-Via: 1.0 inetproxy13 (NetCache NetApp/6.0.3D1)
Complaints-To: groups-abuse@google.com
Injection-Info: h48g2000cwc.googlegroups.com; posting-host=12.47.224.7;   posting-account=faiyAQ0AAADb-8q_Mi-T3e0kux5tt9kt
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit