だから、私はこれを得ました:
struct People_Info {
bool isWorking;
std::string name;
int age;
float height;
};
int counter = 0;
int random = urand(1, 4);
std::map<uin64, People_Info> PeopleMap;
ここで、いくつかのデフォルト値を設定するこの構造体を使用してマップにエントリを作成する関数が呼び出されます。
PeopleMap[counter].isWorking = false;
PeopleMap[counter].name = "Mr";
PeopleMap[counter].age = 1;
PeopleMap[counter].height = 1.60f;
counter++;
さて、これは新しい人のためにエントリを作成する関数ですが、スクリプト全体でいくつかのエントリを削除します。したがって、5 つの要素を取得し、たとえば 2 番目の要素を削除すると、いくつかの変数を編集したいと思います。マップ内の全員:
for(int i = 0; i < 5 ; i++) {
if(PeopleMap[i] == PeopleMap.end()) // Don't edit map entries that are erased
continue;
PeopleMap[i].isWorking = true;
}
さて、何らかの理由でまだすべてのエントリを編集していますが、new を使用してすべてのエントリの構造体を作成する必要がありますか?