紛らわしいタイトルですみません…
私は 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++ がそれを好まない場合は、ポインター演算を行うことができます。
私はベクトルについて調べてきましたが、私は効率性に不健康な執着を持っており、その背後で何が起こっているのかをあなたが知らないことに本当に苦しんでいます.