Cool thing about D, number #72
Jason House
jason.james.house at gmail.com
Tue Apr 24 18:03:58 PDT 2007
This feature is also really cool for generic programming. Code that was
nearly impossible to write in C++ can be implemented almost trivially.
Bill Baxter wrote:
> I've always had this dilemma in C++ when writing graphicsy methods,
> whether a function that takes a point should take separate components
> (float,float,float) or a vector (Vec3f), or perhaps a pointer (float*).
> In D there's also the option of float[3]. Or just for convenience sake
> maybe overloads for all of the above.
>
> I just realized today the coolness of tupleof for this kind of
> situation. You can make the function takes the plain floats
>
> do_something_at_point(float x, float y, float z);
>
> And still call it using a Vec3f via tupleof!
>
> Vec3f world_origin;
> ...
> do_something_at_point(world_origin.tupleof);
>
> as opposed to
>
> do_something_at_point(
> world_origin.x,
> world_origin.y,
> world_origin.z);
>
> It's a minor thing, but it rocks.
>
>
> --bb
More information about the Digitalmars-d
mailing list