私は、既定値を別のインスタンス(parentという名前)から取得できるようにする一連の属性を含むクラスを持っています。C++で既定値を実装
インスタンスに親がない場合は、デフォルト値が割り当てられます。 インスタンスに親がある場合は、親属性の属性をデフォルトのに設定したいとします。親属性を変更すると、オブジェクト属性も新しい値を取得することができます。 この制限があると、私は単に親から値をコピーすることはできません。
- 使用ポインター:
したがって、私は、私は二つの方法があると思うのポインタは、親の値を使用しnullptrある場合。
- 各属性にboolフィールドを使用して、ステータスを示します。
どちらの方法でも動作するはずですが、彼らはまた、incovenientています
- は、最初はそれがshared_ptrのかunique_ptrをして簡略化することができた場合でも、手動のインスタンスが必要になります。しかし、これにより追加の命令が発生し、コードが遅くなります。
- 2つ目は追加のメモリ消費につながります。各インスタンスは、属性ごとに少なくとも1バイト(ほとんどの場合、2,4または8バイト)を要します。
私の質問は:このような動作を実装する他の方法はありますか?または、最善の解決策は何ですか?
あなたの言葉の説明がちょっと乱雑に聞こえます。あなたはこれをどのように使用したいと思いますか、それをどのように動作させたいのか、いくつかのコードを投稿できますか? –