Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-02-24 17:43:32

"Fernando Cacciola" <fernando_cacciola_at_[hidden]> writes:

> I thougth about placement new as a way to achieve
> in-place optional construction, precisely because of the forwarding
> problem, but I couldn't get it to really work.
> What would it be like, exactly?
> I considered:
> (a)
> optional<int> opt ( new ( optional_tag ) int(1) ) ;
> this won't work because 'opt.m_storge' doesn't exist yet inside placement
> new.
> (b)
> optional<int> opt ;
> new (opt) int(2);
> this would be close, but what should I do with the 'int*'
> which is the result of the new?

Why do you feel the need to do something with it? Do you do something
with the pointer when you do placement new in the optional

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at