J'apprends le C++ et j'ai essayé de créer une carte non-ordonnée de PlayerInfo, ceci parce que je peux l'utiliser comme mémoire dynamique. Je suis arrivé à ce stade et j'essaie d'approfondir mes connaissances et de les utiliser dans mon projet actuel.Enregistrer la position de unordered_map
Pour ce faire, je veux une fonction qui dit GetPlayerPointer (int playerid); et ce que je veux faire c'est retourner la position dans la liste donc un morceau de code pour rendre ceci ... bien plus clair.
??? GetPlayerPointer(int playerid)
{
auto point = BasicPlayerInfo.find(playerid);
return point->second;
}
Cela me permettra alors de faire quelque chose comme
Player = GetPlayerPointer(playerid);
Player.Score = 10;
Je vise atleast quelque chose le long de ces lignes.
Je suis vraiment désolé de demander, et merci pour votre aide.
code actuel:
struct pBasicInfo
{
bool IsLoggedIn = false;
bool Spawned = false;
int AdminLevel = 0;
std::string PlayerName;
};
extern std::unordered_map<int, pBasicInfo> BasicPlayerInfo;
//CreatePlayer
pBasicInfo SetupPlayer;
SetupPlayer.IsLoggedIn = true;
SetupPlayer.Spawned = false;
SetupPlayer.PlayerName = GetName(playerid);
BasicPlayerInfo.insert(std::pair<int, pBasicInfo>(playerid, SetupPlayer));
Postez le code actuel. –
Voulez-vous renvoyer un pointeur vers un lecteur ('Player *')? – qxz
Également envisager d'obtenir un [bon livre C++] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – qxz