【发布时间】:2026-01-01 10:30:01
【问题描述】:
假设我有std::unordered_map < int, std::vector< int > > my_hashtable ,我插入一个新条目:
这可行,但它会多次调用构造函数和赋值操作。 (1) std::vector(), (2) make_pair 参数按值传递,复制 (3) make_pair 按值返回类型,再次复制 (4) 函数插入将再次复制。
如果算错了请指正。
因此,我们制作了太多副本,我们真的应该只调用一次构造函数,我们如何实现(在 C++11 下)?
我注意到 std::unordered_map::insert 有一个使用移动构造函数的版本,但不知道如何使用它。
【问题讨论】: