From: Philippe A. Bouchard (philippeb_at_[hidden])
Date: 2003-02-24 20:06:01


David Abrahams wrote:

[...]

> look:
>
> {
> aligned_storage<T>::type storage;
>
> new ((void*)&storage) T(x, y, z); // throws
>
> // ~aligned_storage<T>() destroys non-existent T
> }

What will happen to a normal type then?
{
    T storage = T(x, y, z); // throws

    // storage.~T() destroys non-existent T
}

Philippe A. Bouchard