|
Boost : |
From: Gregory Colvin (gregory.colvin_at_[hidden])
Date: 2003-05-03 19:02:03
On Saturday, May 3, 2003, at 17:52 America/Denver, Noel Yap wrote:
> 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 ) );
Not to me it isn'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.
Who is OP?
Anyway, I dislike out parameters more than I do raw pointers.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk