<span style="font-size:14px;">hash_map<string, list<uint32_t> > g_hmLimits;
uint32_t tmCurrent = time(NULL);
CAutoLock cAutoLock(&g_cLimitLock);
list<uint32_t>& lsErrorTime = g_hmLimits[strDomain];
lsErrorTime.push_front(tmCurrent);</span>
这段代码有人有疑问:lsErrorTime并没有分配空间,怎么就可以呢。
这个是容器对[]运算进行了重载,当map查询不到的时候,会重新分配一个空间返回。查询到了,就返回已有的空间。