Steven Schveighoffer, el 3 de septiembre a las 11:22 me escribiste: > On Thu, 03 Sep 2009 10:40:13 -0400, Leandro Lucarella <llu...@gmail.com> > wrote: > > >Andrei Alexandrescu, el 2 de septiembre a las 14:39 me escribiste: > >>I plan to add a Nullable struct to Phobos (akin to C#'s Nullable, Boost's > >>Optional). > >> > >>Apparently a good design is to define Optional!T with a minimum of member > >>functions (ideally none) and have it use the "alias this" feature to > >>masquerade as > >>a > >>T. That way Optional!T looks and feels much like a T, except that it > >>supports a function > >> > >>bool isNull(T)(Optional!T value); > >> > >>Am I on the right track? If so, what is the name you'd prefer for this > >>artifact? > > > >Maybe this is a very silly question, but what is exactly the difference > >between Optional!T o/isNull(o) and T* o/o is null? > > The difference is you don't have to store the T somewhere else.
That doesn't seems like a big problem having a GC. > That is, an Optional!T contains both the value if it is not null AND > whether it is null or not. With a T*, the value is stored elsewhere, > and you may have aliasing problems. Ok, this seems like a reasonable point. So Optional!T is a value type, right? -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- CONDUCTOR BORRACHO CASI PROVOCA UNA TRAGEDIA: BATMAN UNICO TESTIGO -- Crónica TV