|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-03-20 11:30:32
From: "Jaakko Jarvi" <jajarvi_at_[hidden]>
> Disallowing extra arguments:
>
> > Simple non-jobs like dropping an argument shouldn't require
> > extra notational support: that just pushes users closer to the place
> > where they're forced to debate whether or not to use the library
> > facilities.
>
> The design rationale for this was that we
> really do not know many (any) programming languages which would silently
> ignore extra arguments to functions.
> True that you can ignore arguments, say in C++:
> int foo(int x, int y, int z) { return x; }
> but here too the function is explicitly marked to take 3 arguments.
FWIW:
* I've been asked "How do I ignore function arguments" at least twice.
Really.
* If I can ignore the first and second argument using _3, why shouldn't I be
able to ignore the second and the third argument using _1? What's so special
about the last argument making it "non-ignoreable"?
* The bind reference says nothing about ignoring trailing arguments. It all
falls out naturally from the formal definition.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk