Confirming and uninstantiated struct

rikki cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jan 23 05:59:01 PST 2017


On 24/01/2017 2:57 AM, aberba wrote:
> How do I verify this struct has no value
>
> Student getStudent()
> {
>     ...
>     Student s;
>     if(condition) s = Student;
>     return s;
> }
>
> auto stu = getStudent();
>
> //which will work and is best?
> if (stu is null) //doesn't wrk.
> if (stu is Student.init) //will confirm when i get to my pc
>
> Or how would you do it? Will you make it null first? (I'm not used to
> statically typed languages internals)
>
> Another issue. I'm creating a function to authenticate user login. I
> want to determine login failure (Boolean) and error message but D does
> have multiple return type (could use struct but will make code dirty).
>
> in such case, would you use a callback delegates function or will use a
> string (str == "ok", str == "no") or go with a struct?

Structs are a value type and will always have a type that won't be null.
If you want it to be nullable you will have to use pointers or classes 
(there is also Nullable in std.typecons but it won't work with is null).



More information about the Digitalmars-d-learn mailing list