共有三种方法分别是 operator[],insert(),emplace()
由于底层时红黑数实现,时间复杂度都为o(log n);
operator[ ] 和 insert()的区别是:对于插入的key在map中已经存在时,insert不会改变已经存在的值;operator[]则相反;
insert()和emplace()的区别在于insert()在插入元素value时,会先复制一个value,再把复制的value加入到map,而emplace()直接将value插入map;
使用 operator[]
时,value 类型需要默认的构造函数。m[1] = value1;
这行代码在执行时,会先使用默认值构造 m[1]
,然后对 key 赋值。