おもろいC++コードを貼るスレ
■ このスレッドは過去ログ倉庫に格納されています
0024デフォルトの名無しさん
2005/07/23(土) 10:28:12(デストラクタを呼んでnewを呼びなおす)
そんでoperator =()をコピーコンストラクタで実装するってのを思いついた。
効率は良くない場合があるかも知れないが。
class hoge {
/* 略 */
public:
hoge(const hoge&);
~hoge();
hoge& operator =(const hoge& h)
{
if (this != &h)
{
this->~hoge();
new(this) hoge(h);
}
return *this;
}
};
■ このスレッドは過去ログ倉庫に格納されています