用于将两个数据映射起来,就是同过一个数据,可以找到另一个数据。
所以它存储的数据是成对的。也就是存储的是一个对组。
C++ Maps 被用作储存“关键字/值”对
- #include
- #include
- #include
- using namespace std;
- void show(map
&mp) - {
-
- for (auto it = mp.begin(); it != mp.end(); it++)
- {
- cout << it->first << ":" << it->second << endl;
- }
- }
- int main(int argc, char const *argv[])
- {
- pair
p1("张三", "54656") ; -
- map
mp; - pair
p; -
- mp["李四"] = "shgjagf";
- mp["王五"] = "jgfhjgdwagfh";
- mp["赵六"] = "jgfhjgdfh";
- mp["王八"] = "jgfhjgafa";
- show(mp);
- auto it = mp.find("王八");
- char data[] = {"sdasda "};
-
- cout << it->first << ":" << it->second << endl;
- return 0;
- }
运行结果:
- 李四:shgjagf
- 王五:jgfhjgdwagfh
- 王八:jgfhjgafa
- 赵六:jgfhjgdfh
- 王八:jgfhjgafa
语法:
iterator begin(); |
begin()函数返回一个迭代器指向map的第一个元素。
语法:
void clear(); |
clear()函数删除map中的所有元素。
语法:
size_type count( const KEY_TYPE &key ); |
count()函数返回map中键值等于key的元素的个数。
语法:
bool empty(); |
empty()函数返回真(true)如果map为空,否则返回假(false)。
语法:
iterator end(); |
end()函数返回一个迭代器指向map的尾部。
Syntax:
pair equal_range( const KEY_TYPE &key ); |
equal_range()函数返回两个迭代器——一个指向第一个键值为key的元素,另一个指向最后一个键值为key的元素。
语法:
void erase( iterator pos ); void erase( iterator start, iterator end ); size_type erase( const KEY_TYPE &key ); |
erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。
语法:
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
语法:
allocator_type get_allocator(); |
get_allocator()函数返回map的配置器。
语法:
iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val ); void insert( input_iterator start, input_iterator end ); pair |
insert()函数:
语法:
key_compare key_comp(); |
key_comp()函数返回一个比较key的函数。
语法:
lower_bound()函数返回一个迭代器,指向map中键值>=key的第一个元素。
语法:
size_type max_size(); |
max_size()函数返回map能够保存的最大元素个数。
语法:
reverse_iterator rbegin(); |
rbegin()函数返回一个指向map尾部的逆向迭代器。
语法:
reverse_iterator rend(); |
rend()函数返回一个指向map头部的逆向迭代器。
语法:
size_type size(); |
size()函数返回map中保存的元素个数。
语法:
void swap( map &obj ); |
swap()交换obj和现map中的元素。
语法:
upper_bound()函数返回一个迭代器,指向map中键值>key的第一个元素。
语法:
value_compare value_comp(); |
value_comp()函数返回一个比较元素value的函数。