$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] How to create a shallow copy without callingaconstructor?
From: Peter Dimov (pdimov_at_[hidden])
Date: 2010-01-04 13:08:08
Stefan Strasser wrote:
> quick question about this, is it legal to do the following?
>
> T *t=reinterpret_cast<T *>(new char[sizeof(T)]);
> new (&t) T;
> delete T;
No, because memory allocated with new[] must be deallocated with delete[].
T *t=static_cast<T *>( operator new( sizeof(T) ) );
takes care of this. There'd still be a mismatch if T had class-specific
operator new/delete though, unless one is careful to use ::delete.