From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: How to avoid unreferenced objects (mutexes etc)
Date: Tue, 15 Jan 2002 11:18:39 -0500
Date: 2002-01-15T11:18:39-05:00 [thread overview]
Message-ID: <3C44565F.9030403@mail.com> (raw)
In-Reply-To: u48j5j2gh9lse8@corp.supernews.com
Matthew Heaney wrote:
> The problem is that the language doesn't have a termination handler for
> blocks, a la a "finally" clause in Java or Win32 Structured Exception
> Handling. So you have to create "unused" objects as a work-around.
In C++, this is considered a desirable design paradigm, not a problem.
If you happen to be controlling several resources, the "finally" way
marches off the right side of the page -
try {
// acquire resorce 1
try {
// acquire resource 2
try {
// acquire resource 3
// now do something
} finally {
// release resource 3
}
} finally {
// release resource 2
}
} finally {
// release resource 1
}
As opposed to
Res1Holder r1; // acquire resource 1
Res2Holder r2; // acquire resource 2
Res3Holder r3; // acquire resource 3
// do something
next prev parent reply other threads:[~2002-01-15 16:18 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-11 13:48 How to avoid unreferenced objects (mutexes etc) Dmitry A. Kazakov
2002-01-11 13:52 ` Lutz Donnerhacke
2002-01-11 14:47 ` Robert A Duff
2002-01-11 18:02 ` Jeffrey Carter
2002-01-11 19:40 ` Robert Dewar
2002-01-12 10:18 ` Martin Dowie
2002-01-14 8:54 ` Dmitry A. Kazakov
2002-01-12 1:11 ` Nick Roberts
2002-01-12 22:04 ` Matthew Heaney
2002-01-13 5:45 ` Nick Roberts
2002-01-13 8:21 ` tmoran
2002-01-13 16:12 ` Nick Roberts
2002-01-13 15:08 ` Simon Wright
2002-01-15 17:53 ` Nick Roberts
2002-01-13 16:51 ` Jeffrey Carter
2002-01-14 23:32 ` Matthew Heaney
2002-01-15 8:53 ` Dmitry A. Kazakov
2002-01-14 8:31 ` Jean-Pierre Rosen
2002-01-14 9:42 ` Dmitry A. Kazakov
2002-01-15 15:41 ` Matthew Heaney
2002-01-15 16:18 ` Hyman Rosen [this message]
2002-01-15 16:57 ` Darren New
2002-01-15 18:57 ` Matthew Heaney
2002-01-16 0:57 ` Darren New
2002-01-16 16:35 ` Stephen Leake
2002-01-16 18:07 ` Darren New
2002-01-16 23:18 ` Matthew Heaney
2002-01-16 23:04 ` Matthew Heaney
2002-01-17 0:21 ` Darren New
2002-01-16 15:18 ` Dmitry A. Kazakov
2002-01-15 18:59 ` Nick Roberts
2002-01-16 15:05 ` Dmitry A. Kazakov
2002-01-16 18:30 ` Matthew Heaney
2002-01-17 8:58 ` Dmitry A. Kazakov
2002-01-17 9:19 ` Lutz Donnerhacke
2002-01-17 10:42 ` Dmitry A. Kazakov
2002-01-17 10:55 ` Lutz Donnerhacke
2002-01-17 15:30 ` Dmitry A. Kazakov
2002-01-17 16:29 ` Lutz Donnerhacke
2002-01-16 20:28 ` Robert A Duff
2002-01-17 19:05 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox