C++相談室 part50
■ このスレッドは過去ログ倉庫に格納されています
004642
2006/06/06(火) 01:07:00あくまで例えなんで。また、もう一つ例えで
class X
{
public:
X(const X&);
X& operator = (const X&);
private:
・・・ // メンバー変数いっぱい
struct impl;
impl *pimpl; // impl にもメンバー変数いっぱい
};
全てのメンバー変数の複製を作る場合、
pimpl は特別な処理をしなきゃいけなくなりますよね。
そこでコピーコンストラクタと代入演算子を独自に定義したら、
丸々コピーしてくれるデフォルトのコピーコンストラクタと代入演算子が当然使えなくなる訳ですよ。
そうなると、Xの メンバー変数いっぱい をチマチマ代入しなきゃいけなくなるんで、
楽かつシンプルな方法はないかと考えていまして。
memcpyだとメンバーが単純なビットコピーじゃない場合に不具合が生じるし…
■ このスレッドは過去ログ倉庫に格納されています