"Philippe A. Bouchard" <[EMAIL PROTECTED]> writes:

> 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?

What is a "normal type"?

> {
>     T storage = T(x, y, z); // throws
>
>     // storage.~T() destroys non-existent T

Storage never gets constructed if T(x,y,z) throws, so it is also
never destroyed.

> }

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to