Boost logo

Boost :

From: E. Gladyshev (egladysh_at_[hidden])
Date: 2003-10-09 21:46:49

--- Douglas Gregor <gregod_at_[hidden]> wrote:
> At the line
> T* obj = new (data_) T;
> you've ended the lifetime of the object that used to be in data_.

So that is the definition of "reusing storage" in the standard.
How about T* obj = new( (char*)data_+3 ) T ? Is it still ending
the object's lifetime? There is not such definition in the standard.
The standard is lacking a consistent definition of "storage"
and storage usage concepts.

I am free to argue:

variant<char, int> x;

//# starting reusing storage
x = 1; //standard is undefined
//# stoped reusing storage

If the "reusing storage" concept is undefined, the object liftime is undefined.


Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

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