C++ Map常见用法说明
插入操作 [] 单个插入: 存在键值key,赋值修改操作,如果没有则插入 insert 进行单个和多个插入 // 插入单个键值对,并返回插入位置和成功标志,插入位置已经存在值时,插入失败 pair<iterator,bool> insert (const value_type& val); //在指定位置插入,在不同位置插入效率是不一样的,因为涉及到重排 iterator insert (const_iterator position, const value_type& val); // 插入多个 void insert (InputIterator first, InputIterator last); //c++11开始支持,使用列表插入多个 void insert (initializer_list<value_type> il); 取值 at和[ ]两种操作,at会作下标检查,而[]不会 map<int, string> ID_Name; //ID_Name中没有关键字2016,使用[]取值会导致插入 //因此,下面语句不会报错,但打印结果为空 cout<<ID_Name[2016].c_str()<<endl; //使用at会进行关键字检查,因此下面语句会报错 ID_Name.at(2016) = "Bob"; 容器查询 // 查询map是否为空 bool empty(); // 查询map中键值对的数量 size_t size(); // 查询map所能包含的最大键值对数量,和系统和应用库有关。 // 此外,这并不意味着用户一定可以存这么多,很可能还没达到就已经开辟内存失败了 size_t max_size(); // 查询关键字为key的元素的个数,在map里结果非0即1 size_t count( const Key& key ) const; // 迭代器删除交换顺序比较查找操作符