map<int, set<int>> m;
set<int> n;
m[1].insert(3);
n.insert(3);
n.insert(4);
m[1].insert(n); //can I do this?
最后一行正确吗?如果没有,有什么简单的方法可以实现?
答案 0 :(得分:2)
最后一行正确吗?
不。您想要的应该是来自另一个std::set
的{{3}}个元素,您可以
m[1].insert(n.begin(), n.end()); // insert all the elements of n into m[1]
答案 1 :(得分:0)
最简单的方法如下:
m[1] = n;
但这将覆盖先前插入m[1]
中的内容。
要添加到先前插入的元素中,可以使用insert
m[1].insert(n.begin(), n.end());