抱歉标题混乱...
我一直在玩 C++,致力于解析游戏(Kerbal Space Program)保存文件的项目,以便我可以修改它并最终通过网络发送它。我被困在存储未知数量的船只和船员,所以我需要有一个未知大小的数组。
这可能吗?我认为有一个指向数组的指针将是要走的路。
我有:
class SaveFileSystem
{
string version;
string UT;
int activeVessel;
int numCrew;
??? Crews; // !!
int numVessels;
??? Vessels; // !!
}
Crews 和 Vessels 应该是结构数组:
struct Crew
{
string name;
//Other stuff
};
struct Vessel
{
string name;
//Stuff
};
我猜我应该有类似的东西:
this->Crews = new ???;
this->Vessels = new ???;
在我的构造函数中初始化数组,并尝试通过以下方式访问它:
this->Crews[0].name = "Ship Number One";
这有道理吗???我希望“???”涉及一堆星号,例如“*struct (*)Crews”,但我不知道。我有正常的指针等,但这有点让我头疼......我想访问最后一个片段中的结构,但如果 C++ 不喜欢这样,我可以做指针算术。
我研究过向量,但我对效率有一种不健康的痴迷,你不知道它背后发生了什么真的让我很痛苦。