如何在一个std::unordered_map?中存储2个以上的变量?
我想要这样的东西:
std::unordered_map<string, int, int, int> mapss = {{"a",1,1,1},{"b",1,2,3}};
Run Code Online (Sandbox Code Playgroud)
如果string是键,其余是值,则可以将值设为a tuple.
unordered_map<string, tuple<int, int, int>> mapss
Run Code Online (Sandbox Code Playgroud)
如果您不知道将有多少值,您可以使用 vector
unordered_map<string, vector<int>> mapss
Run Code Online (Sandbox Code Playgroud)
您可以使用std::tuple,如Cyber所提到的,但我建议您创建一个简单的,struct如果您知道值代表什么.
它清楚地表达了你的意图.
例:
struct Color
{
int r, g, b;
};
std::unordered_map<std::string, Color> colors =
{
{"red", {255, 0, 0}},
{"blue", {0, 0, 255}}
};
Run Code Online (Sandbox Code Playgroud)