$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.
Eugene
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com