我有一个有几个成员类作为属性的类。类的构造函数将采用字节文件的文件名。不同的成员类在其构造函数中使用文件的后续部分,我们称它们为 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();
}
}
我想在堆栈而不是堆上执行此操作。
我想到了初始化列表,但为此我不得不浪费时间重新读取输入文件的冗余部分以获取每个成员类所需的部分。
我不知道这是否只是一种糟糕的方法(很可能),但是有没有人对有效地完成这个有任何建议?或者对另一种组织方式的建议?