From: Jörg Striegnitz (J.Striegnitz_at_[hidden])
Date: 2002-03-20 08:22:57
Jaakko Jarvi wrote:
> > > I haven't look at any of the technical issues, but from a purely
> > > esthetic view I prefer the familiar, explicit "lambda(x, y, x + y)".
> > Sometimes the choice is not so clear-cut.
> > std::for_each(v.begin(), v.end(), std::cout << _1 << '\n');
> > vs
> > std::for_each(v.begin(), v.end(), lambda(x, std::cout << x << '\n'));
> > In general, I find that every non-pure-functional use looks better with the
> > _N syntax; lambda() implies a pure function as far as I'm concerned.
> The difference is really just syntactical.
It isn't because 'lambda' introduces scope. For instance, consider the
nested lambda term
lambda(x,y, lambda(x,y, x + y - x)(y,x) ) (12,3)
It must be clear how to evaluate this term:
12 + 3 - 12 = 3 vs. 3 + 12 - 3 = 12 ?
Of course, the latter case is preferable ;-)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk