Recommended way to do RAII cleanly
Jonathan M Davis
jmdavisprog at gmail.com
Mon Jul 12 15:53:06 PDT 2010
On Monday, July 12, 2010 15:40:24 torhu wrote:
> On 13.07.2010 00:09, bearophile wrote:
> > Jonathan M Davis:
> >> There are lots of cases where using scope(exit) makes sense, and it's a
> >> great construct. But there are also plenty of cases where using plain
> >> old RAII with a single declaration is better. It works fine in D as
> >> long as the struct in question doesn't need a default constructor. But
> >> if it does, then it becomes a problem.
> >
> > Can't you use a static opCall (also suggested by Jacob Carlborg)?
> >
> > Bye,
> > bearophile
>
> I think that's supposed to go away, but I'm not 100% sure. Would make
> sense, since it was added as a sort of stopgap measure when there were
> no struct literals.
This would be why I like Berophile's suggestion on the main list of having a
page which lists deprecated and intended to be deprecated constructs. opCall is
a good solution and basically fulfills the requirements of a default constructor,
but if it's going away, then it's in the same camp as using scope on a class.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list