我有一段代码说
clock.start();
for (unordered_map <uint32_t,HostTraffic>::iterator internalIPItr = hostTraffic.begin();
internalIPItr != hostTraffic.end();
++internalIPItr)
{
if (!pgBulkInserter.insert(NULL, internalIPItr -> first,
internalIPItr -> second.inboundFlows,
(void*)&(internalIPItr -> second.outboundPortIPs),
internalIPItr -> second.roles)) {
return -1;
}
clock.incrementOperations();
}
我的问题是我不明白
(void*)&(internalIPItr -> second.outboundPortIPs).
您可以将
for(....)
视为for (int internalItr = beginning -> end)
其中
internalItr
的类型为unordered_map
,而internalItr->second
给出HostTraffic
的实例。 最佳答案
由internalIPItr->second.outboundPortIPs
给出的&
地址的指针被转换为void*
。