次の 3 つのクラスがあるとします。
typedef struct base
{
float A;
float B;
...
base() : A(1.0f), B(1.0f) {}
} base;
class derived1 : base
{
int C;
int D;
};
class derived2 : base
{
int E;
int F;
};
そして、基底クラスのデータをある派生クラス オブジェクトから別の派生クラス オブジェクトにコピーしたいと考えています。
A、B などの基本クラスの値のみをあるオブジェクトから別のオブジェクトにコピーするために、次のことを行っても安全ですか?
derived1* object1 = new derived1;
derived2* object2 = new derived2;
void make_object1()
{
object1->C = 2;
object1->D = 3;
}
void make_object2()
}
object2->A = 4;
object2->B = 5;
object2->E = 6;
object2->F = 7;
}
void transfer_base()
{
*((base*)object1) = *((base*)object2);
}
私のプログラムがこの種の操作を頻繁に行う必要があると仮定すると、これを達成するためのより良い (より高速なコード) 方法はありますか? これを行う理由は、シミュレーションとグラフィカル レンダラーを作成したからです。シミュレーション内のオブジェクトから選択したデータのみを使用して、グラフィック表示オブジェクトをできるだけ効率的に更新したいと考えています。シミュレーションは非常にCPUを集中的に使用します...これまでのところ、このアプローチは機能しているようですが、見落としがあるのではないかと心配しています...