Compare struct against null

downs default_357-line at yahoo.de
Tue Apr 29 00:32:40 PDT 2008


Heinz wrote:
> downs Wrote:
> 
>> Heinz wrote:
>>> Hi,
>>>
>>> I have a simple struct and i want to check if a variable has been asigned:
>>>
>>> struct hello
>>> {
>>>
>>> }
>>> ...
>>> hello h;
>>> ...
>>> if(!h)
>>> {
>>> do stuff;
>>> }
>>>
>>> When compiling i get erros about opCall not implemented and many others. What can i do?
>>>
>>> Thanks in advance.
>> Structs are value types. Read the spec. Then use a pointer :)
>>
>> hello* h;
>>
>> if (!h) h = new hello;
>>
>>  --downs
> 
> Thanks for your reply. Can i use then?:
>  hello h;
> if(!&h)

No.
Structs are *value types*.

That means, unless _explicitly newed_ (or part of a struct that's explicitly newed), they _always_ live on the stack.

Ergo, if &h is null, your complete callstack is shot :)

 --downs


More information about the Digitalmars-d-learn mailing list