在 C++ 中,可以使用 std::map 来实现键为 std::string,值为结构体的映射。

首先,定义一个结构体,例如 MyStruct

struct MyStruct {
    int value1;
    float value2;
    // 其他成员变量
};

然后,使用 std::map 来创建映射:

#include <iostream>
#include <map>
#include <string>

int main() {
    // 定义结构体
    struct MyStruct {
        int value1;
        float value2;
        // 其他成员变量
    };

    // 创建 map
    std::map<std::string, MyStruct> myMap;

    // 添加元素
    MyStruct struct1 = {10, 3.14};
    myMap['key1'] = struct1;

    MyStruct struct2 = {20, 2.718};
    myMap['key2'] = struct2;

    // 访问元素
    std::cout << myMap['key1'].value1 << ", " << myMap['key1'].value2 << std::endl;
    std::cout << myMap['key2'].value1 << ", " << myMap['key2'].value2 << std::endl;

    return 0;
}

在上面的示例中,我们首先定义了一个 MyStruct 结构体,包含两个成员变量 value1value2。然后,我们使用 std::map 创建了一个映射 myMap,其中键的类型为 std::string,值的类型为 MyStruct。接下来,我们添加了两个元素到映射中,然后通过键来访问对应的值。

输出结果为:

10, 3.14
20, 2.718

这样就实现了使用 std::map 来存储键为 std::string,值为结构体的映射。

C++ 使用 std::map 存储字符串键值对和结构体

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

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