On 04/19/2010 02:41 PM, Eric Poggel wrote:
On 4/16/2010 10:41 PM, Andrei Alexandrescu wrote:
Generally I'd strongly suggest making operations free generic functions
instead of members.

I disagree on this one. It unnecessarily adds more names to an outer
namespace and makes code less readable:

vec1.cross(vec2).project(vec3).length();

vs:

length(project(cross(vec1, vec2), vec3);

The first reads naturally while the second is more like polish notation
and is easier to forget parentheses, as I did.

Notationally I agree - but you are (or at least should be) able to invoke a nonmember as if it were a member.

Andrei

Reply via email to