Using out qualifier instead of *, how to pass null?
Derek Parnell
derek at psych.ward
Thu Feb 1 02:48:52 PST 2007
On Thu, 01 Feb 2007 03:00:01 -0500, Rick Mann wrote:
> In wrapping this C API, I've been going back and forth
> between converting "Foo*" output parameters to "out Foo".
> I prefer the latter, as I don't have to take the address
> at the call site, but I don't seem to be able to pass null
> (which the API allows, meaning, "I'm not interested in
> this return value").
>
> Am I just stuck with Foo*? Alternatively, I can overload
> the C function with D wrappers, I suppose. Hmm. That's
> probably best.
Is not possible to use a 'null' object ... ?
class Foo {}
void Bar(out Foo f)
{
if (f is null)
...
else
...
}
Foo NullFoo;
Foo RealFoo = new Foo;
Bar(NullFoo);
Bar(RealFoo);
--
Derek Parnell
More information about the Digitalmars-d-learn
mailing list