以下是如何将 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 中的数据。

C++ 使用 unordered_map 存储和管理 Job 数据

原文地址: https://www.cveoy.top/t/topic/eDkD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录