いくつかのメンバー クラスを属性として持つクラスがあります。クラスのコンストラクターは、バイト ファイルのファイル名を受け取ります。さまざまなメンバー クラスは、コンストラクターでファイルの後続の部分を使用します。それらを部分 A、B、および C と呼びましょう。ファイルのサイズはさまざまです。
ヒープを使用して、次のようにします。
class myClass
{
myClass(char *filename)
{
std::ifstream inputFile(filename, std::ios::binary);
m_Class1 = new ClassA(inputFile); // read part A
m_Class2 = new ClassB(inputFile); // read part B
m_Class3 = new ClassC(inputFile); // read part C
inputFile.close();
}
}
ヒープではなくスタックでこれを行いたいと思います。
初期化リストが頭に浮かびますが、そのためには、各メンバー クラスに必要な部分に到達するために、入力ファイルの冗長部分を再読み取りして時間を浪費する必要があります。
これが単なるひどいアプローチであるかどうかはわかりませんが(おそらく)、これを効果的に達成するための提案はありますか? または、これを整理する別の方法の提案はありますか?