新建一个函数,不要在CtEncodeKqi中实现,不新建结构体
时间: 2024-03-26 14:36:26 浏览: 13
好的,可以新建一个函数来实现这个功能,如下所示:
```
void UpdateKqiInfo(std::unordered_map<uint64_t, std::vector<uint64_t>>& kqi_info,
uint64_t imsi, uint64_t imei, uint32_t eci, uint16_t tac) {
if (kqi_info.find(imsi) == kqi_info.end()) {
// imsi不存在,新建一个vector并插入到unordered_map中
kqi_info[imsi] = {imsi, imei, eci, tac, time(NULL)};
} else {
// imsi已经存在,更新该imsi对应的value内容
auto& value = kqi_info[imsi];
value[1] = imei;
value[2] = eci;
value[3] = tac;
value[4] = time(NULL);
}
}
```
其中,kqi_info是一个std::unordered_map类型的变量,用于保存key-value的关系,key为imsi,value为一个vector,其中下标0为imsi,下标1为imei,下标2为common.eci,下标3为common.tac,下标4为last_time。在每次需要更新kqi_info时,调用该函数即可。如果imsi不存在,则新建一个vector并插入到unordered_map中;否则更新该imsi对应的value内容,并更新last_time字段为当前时间。