Boost logo

Boost :

From: Noel Yap (Noel.Yap_at_[hidden])
Date: 2003-05-03 18:52:02


Gregory Colvin wrote:
>
> On Saturday, May 3, 2003, at 17:13 America/Denver, Noel Yap wrote:
>
> > Noel Yap wrote:
> >> std::auto_ptr< T > t( new T() );
> >> f( boost::dumb_ptr< T >( t.get() ); // clearly an in/out parameter
> >
> > Or if you don't want to dynamically allocate t:
> >
> > T t;
> > f( boost::dumb_ptr< T >( &t ) ); // clearly an in/out parameter
> >
> > static T t;
> > f( boost::dumb_ptr< T >( &t ) ); // clearly an in/out parameter
>
> Not so clear -- it depends on whether f() cares about the initial
> value of t.

So you're saying the parameter can be an out-only parameter? If so, for
out parameters, use:

  boost::dumb_ptr< T > f();
  t = f();

IMHO, the intent is much more clear than:

  f( out< T > t );
  f( out< T >( t ) );

> Also, not in my opinion any more clear than:
>
> f(&t);

I agree, but the OP doesn't like raw pointers from what I've gathered
from the thread.

Noel


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk