我正在尝试从文件中读取一些输入,然后将它们传递给指向GasPump对象的指针数组,这是我使其工作的唯一方法,我想知道是否存在更简单的方法。
inputFile >> thing1 >> thing1 >> thing1 >> thing1
>> thing2 >> thing2 >> thing2 >> thing2
>> thing3 >> thing3 >> thing3 >> thing3;
GasPump* station[3] = {new GasPump(thing1, thing1, thing1),
new GasPump(thing2, thing2, thing2),
new GasPump(thing3, thing3, thing3)};
这是我的初衷,但我不确定这是否正确:
GasPump* station = new GasPump[3];
for (int i = 0; i < 3; i++)
{
intputFile >> thing >> thing >> thing >> thing;
station[i] = GasPump(thing, thing, thing);
}
答案 0 :(得分:0)
我不确定第二个代码片段中的语法,但是您可以使用std::vector
如下存储指针。我还建议阅读有关智能指针的信息,其中unique_pointer
与您的情况有关。 (确保为GasPump实现析构函数或事后处理删除...)
std::vector<GasPump*> station;
for (int i = 0; i < 3; i++) {
intputFile >> thing >> thing >> thing >> thing;
station.push_back(new GasPump(thing, thing, thing));
}
我也不确定为什么需要指针。如果不需要它们,请改用std::vector<GasPump>
。