operator[] 和 insert:

map的[]操作和其他容器和内置[]没有关系
如果我们通过[]向map中插入or更新值,需要考虑一些东西
1.键已经存在,那么直接进行修改即可
2.键不存在,那么需要 值的默认构造创建一个新的对象,然后返回引用进行赋值

m[1] = 1.5;
m.insert( widget::value_type(1,1.5));

如果使用 operator[] 插入值,那么会浪费默认widget对象的创建和析构、赋值操作


所以 更新最好使用[],插入则是insert。

相关文章:

  • 2022-02-06
  • 2021-11-24
  • 2021-06-27
  • 2022-01-02
  • 2022-12-23
  • 2021-09-06
  • 2021-12-01
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-15
相关资源
相似解决方案