我真的是C ++的新手,我对某些东西感到困惑。 到目前为止,我已经实现了:
我接下来要做的是:
在松鼠中,我可以这样做:
local playerInfo = {}; // Create a table
playerInfo[ playerId ] <- CPlayer();
// To remove it -
playerInfo.rawdelete( playerId );
不确定用C ++再现它的最佳方式。
答案 0 :(得分:5)
刚刚查看了Squirrel中的表是什么,从阅读上面的问题看,您想要的东西似乎是C ++版本
#include <map>
std::map<int, CPlayer> playerInfo;
相当于playerInfo[ playerId ] <- CPlayer();
的
playerInfo[playerId] = CPlayer();
等于playerInfo.rawdelete( playerId );
playerInfo.erase(playerId);
更多信息here
答案 1 :(得分:0)
您可以使用std :: map,如下所示。下面的示例应该对用法有一个清晰的认识。
std::map<into, PlayersInfo> mapPlayerInfo:
int nPlayerId1 = 1; // Player 1 Id sample
int nPlayerId2 = 2; // Player 2 Id sample
PlayerInfo player1(nPlayerId1,...); // Additional arguments to constructor if required
mapPlayerInfo[nPlayerId1] = player1;
PlayerInfo player2(nPlayerId2,...); // Sample 2
mapPlayerInfo[nPlayerId2] = player2;
//Deleting based on player Id
mapPlayerInfo.erase(nPlayerId1);