Cool thing about D, number #72
Bill Baxter
dnewsgroup at billbaxter.com
Tue Apr 24 03:14:41 PDT 2007
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