如何在 unordered_map 中存储 2 个以上的变量?

How to store more than 2 variables in an unordered_map?

如何在 std::unordered_map 中存储 2 个以上的变量?

我想要这样的东西:

std::unordered_map<string, int, int, int> mapss = {{"a",1,1,1},{"b",1,2,3}};

如果 string 是键,其余是值,那么您可以将值设置为 tuple.

unordered_map<string, tuple<int, int, int>> mapss

如果你不知道会有多少个值,你可以使用 vector

unordered_map<string, vector<int>> mapss

您可以使用 Cyber​​ 提到的 std::tuple,但如果您知道这些值代表什么,我建议创建一个简单的 struct

它清楚地表达了你的意图。

示例:

struct Color
{
    int r, g, b;
};

std::unordered_map<std::string, Color> colors = 
{
    {"red",  {255, 0, 0}},
    {"blue", {0, 0, 255}}
};