typedef struct PIDInfo { FC_INT32 m_pid; FC_INT32 m_ppid; PIDInfo() :m_pid(-1) , m_ppid(-1) {} } STPIDInfo; typedef std::unordered_set<STPIDInfo> VECRUNPID; std::map<FC_STRING, VECRUNPID> m_mRunProcCache; 根据pid删除
时间: 2024-03-10 07:47:01 浏览: 98
PID_EASY_EXPLAIN.rar_easy _pid
要删除`m_mRunProcCache`中指定`pid`的元素,可以遍历`m_mRunProcCache`中的所有元素,查找包含指定`pid`的元素,并将其删除。具体操作如下:
```c++
FC_INT32 pidToDelete = 123;
for (auto it = m_mRunProcCache.begin(); it != m_mRunProcCache.end(); ++it) {
auto& vec = it->second;
for (auto vecIt = vec.begin(); vecIt != vec.end(); ++vecIt) {
if (vecIt->m_pid == pidToDelete) { // 找到了要删除的元素
vec.erase(vecIt); // 从vec中删除元素
break; // 找到了要删除的元素,退出循环
}
}
}
```
这段代码首先定义一个整型变量`pidToDelete`,存储要删除的`pid`值。然后使用`auto`关键字定义一个迭代器`it`,遍历`m_mRunProcCache`中的所有元素。对于每个元素,使用引用`&`定义一个`VECRUNPID`类型的向量`vec`,并使用`auto`关键字定义一个迭代器`vecIt`,遍历`vec`中的所有元素。如果找到了`m_pid`等于`pidToDelete`的元素,则调用`vec`的`erase()`函数将其从向量中删除,并使用`break`语句退出循环。
阅读全文