C++ 使用 unordered_map 存储和管理 Job 数据
以下是如何将 simID 作为 key,将 Job 对象存储到 job 中,并如何读取和修改该数据中 jobState 值的示例代码:
#include <iostream>
#include <unordered_map>
enum state {
START,
PAUSE,
RESUME,
CANCEL
};
struct Job {
std::string jobID;
state jobState;
};
int main() {
std::unordered_map<std::string, Job> job;
Job j;
j.jobID = '1234';
j.jobState = START;
std::string simID = '1111';
// 将 j 存储到 job 中,以 simID 作为 key
job[simID] = j;
// 读取数据
std::cout << 'Job ID: ' << job[simID].jobID << std::endl;
std::cout << 'Job State: ' << job[simID].jobState << std::endl;
// 修改数据中 jobState 的值
job[simID].jobState = RESUME;
// 读取修改后的值
std::cout << 'Modified Job State: ' << job[simID].jobState << std::endl;
return 0;
}
在上述代码中,我们首先定义了一个枚举类型 state 以表示不同的作业状态。然后定义了一个结构体 Job,其中包含作业的 ID 和状态。接下来我们创建了一个 unordered_map 容器 job,用于存储 Job 对象。
然后创建了一个 Job 对象 j,并为其设置 jobID 和 jobState 的值。然后定义了一个字符串 simID 作为 key。
我们使用 job[simID] = j 将 j 存储到 job 中,以 simID 作为 key。
接下来,我们可以通过 job[simID] 来读取存储在 job 中的数据。例如,通过 job[simID].jobID 可以获取 jobID 的值,通过 job[simID].jobState 可以获取 jobState 的值。
最后,我们可以通过修改 job[simID].jobState 来修改存储在 job 中的数据。
原文地址: https://www.cveoy.top/t/topic/eDkD 著作权归作者所有。请勿转载和采集!