如何在 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}}
};
如何在 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}}
};