From: Justin M. Lewis (boost_at_[hidden])
Date: 2003-05-01 18:09:30
Sorry I've been out of this discussion for so long, I decided to get sick
for several days.
I'm not sure I follow the comments below, except ultimately that you don't
like the idea.
As I see it, these in/out and out params come at no runtime cost. And they
help make clear otherwise potentially confusing function calls. They would
save you the trouble of having to hunt down all kinds of functions to find
out if and when you can expect your variables to change.
I really can't see any reason to NOT use a technique like this. I mean, it
ultimately helps make clear things that otherwise are not, at the cost of
typing a few more characters in the few instances where functions take
in/out and out params.
----- Original Message -----
From: "Paul A. Bristow" <boost_at_[hidden]>
To: "Boost mailing list" <boost_at_[hidden]>
Sent: Thursday, May 01, 2003 11:53 AM
Subject: RE: [boost] in/out parameters, coding
> | -----Original Message-----
> | From: boost-bounces_at_[hidden]
> | [mailto:boost-bounces_at_[hidden]]On Behalf Of Justin M. Lewis
> | Sent: Sunday, April 27, 2003 12:14 AM
> | To: Boost mailing list
> | Subject: Re: [boost] in/out parameters, coding styles
> | andmaintenance[was:class proposal]
> I've followed this long discussion, but I am left feeling like the
> replying to a request for directions "Well, I wouldn't start from here!".
> Languages designed using rational thought from good basic premises, like
> have explicit in, out and inout parameters. Sadly C++ has growed like
> some dodgy articles of faith.
> C++ only has confusing consts, but conventionally we don't even apply it
> procedure parameters (double log(const double); is clear but causes
> sometimes appears to impede optimisation).
> So I too am unconvinced that the sticking plaster proposed is useful even
> first aid.
> Paul A Bristow, Prizet Farmhouse, Kendal, Cumbria, LA8 8AB UK
> +44 1539 561830 Mobile +44 7714 33 02 04
> Mobile mailto:pabristow_at_[hidden]
> Unsubscribe & other changes: