
Bronek Kozicki <brok@rubikon.pl> writes:
David Abrahams wrote:
be templated. I think the syntax should be
auto(x){ x->first < 0 } where is "return" ?
Good observation. Nowhere. Have you got a problem with that? Also no semicolon.
it's not function body, then. It's an expression. C'mon, I do not think that this could be honestly called "lambda".
C'mon, haven't you ever heard of something called a "lambda expression?" Yes, of course it's an expression. We make a provision that a lambda expression can end with a simple expression in which case that is its return value. It could be made into a statement and a valid function body like this: auto(x) { x->first < 0; } but then such a statement normally does *not* return, and the semicolon adds a little confusion, one more character, and nothing of value. Adding "return" for the majority of simple lambda expressions would result in a 25-30% increase in total non-whitespace characters, which is a big lose. -- Dave Abrahams Boost Consulting www.boost-consulting.com