C++相談室 part81
■ このスレッドは過去ログ倉庫に格納されています
0208デフォルトの名無しさん
2010/05/16(日) 23:00:47template <class T> ・・・
{
T *p = new (buffer) T(arg);
p->~T();
operator delete (p, buffer);
p = 0;
}
上記のような流れが正しい扱い方だと思うんですが、以下の場合どう書くべきなのか困ってます
�@T *p;ではなくconst T *p;にした場合
operator delete (p, buffer);の引数は非constなのでコンパイルできない
const_castを使うほかないと思うんですが、それって作法としてはどうなのかな、と
�ATがメンバにoperator delete (void *, void *);を持っている場合
TMPを使って適切に呼び出すことは可能ですが、C++を開発した人が最初からTMPを前提にplacement new/deleteを用意したとは思えません
TMPを使わずに適切なoperator deleteを呼び出すことは可能でしょうか?
■ このスレッドは過去ログ倉庫に格納されています