和 map 之间的性能差异?-6ren"> 和 map 之间的性能差异?- 这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Cost of using std::map with std::string keys vs int ke-6ren">
gpt4 book ai didi

c++ - map <"string",..> 和 map 之间的性能差异?

转载 作者:太空狗 更新时间:2023-10-29 23:41:25 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Cost of using std::map with std::string keys vs int keys?

如果我有这两段代码:

1#:

map<unsigned int, unsigned short> ConnectedIPs;

PLUGIN_EXPORT bool PLUGIN_CALL OnPlayerConnect(int playerid)
{
PlayerLoopList.push_back(playerid);
char szIP[32];
GetPlayerIp(playerid,szIP);
unsigned short explodeIP[4];
sscanf(szIP, " %d[^.].%d[^.].%d[^.].%d", &explodeIP[0], &explodeIP[1], &explodeIP[2], &explodeIP[3]);
g_PlayerIP[playerid] = (explodeIP[0] + (explodeIP[1] << 8) + (explodeIP[2] << 16) + (explodeIP[3] << 24));
ConnectedIPs[g_PlayerIP[playerid]] += 1;
if(ConnectedIPs[g_PlayerIP[playerid]] >= g_max_ip)
{
Report(playerid,CHECK_IPFLOOD);
}
return true;
}

2#:

map<char*, unsigned short> ConnectedIPs;//edited from char to char*

PLUGIN_EXPORT bool PLUGIN_CALL OnPlayerConnect(int playerid)
{
PlayerLoopList.push_back(playerid);
char szIP[32];
GetPlayerIp(playerid,szIP);
ConnectedIPs[szIP] += 1;
if(ConnectedIPs[szIP] >= g_max_ip)
{
Report(playerid,CHECK_IPFLOOD);
}
return true;
}

2#会更快吗?此代码用于计算一个 ip 的连接玩家数量。我认为我做对了,还是错了?

27 4 0