在std :: map中为std :: array分配多个值

Arc*_*ect 5 c++ stl map c++11

使用std :: array时,我可以一次分配值:

std::array<int, 3> a2 = {1, 2, 3}; 
Run Code Online (Sandbox Code Playgroud)

但是当上面的数组合并到一个地图中时,我不知道最好的方法:

using namespace std;
map <string, array<int, 3>> myMap;

//I'm doing it like below now...

array<int, 3> tempArray = {1,2,3}; // can I save this line somehow?
myMap[myString] = tempArray;
Run Code Online (Sandbox Code Playgroud)

如果这确实是正确的方法,也请告诉我.谢谢!

Dan*_*rey 4

虽然使用insert其他答案中所示的方法更有效,但您也可以使用

myMap["foo"] = {{1,2,3}};
Run Code Online (Sandbox Code Playgroud)

如果简洁的代码对您来说更重要。