std::map<long long, std::unique_ptr<A>> listOf1;
std::map<long long, std::unique_ptr<A>> listOf2;

如何将 listOf1 添加到 listOf2?
可能这很棘手,因为 value 是 unique_ptr。
正常解决办法:
listOf2.insert(listOf1.begin(), listOf1.end());

不起作用并给出错误

最佳答案

你可能想要:

listOf2.insert(std::make_move_iterator(listOf1.begin()),
               std::make_move_iterator(listOf1.end()));
listOf1.clear();

10-08 09:45