1: //map06.cpp
3: #include <iostream>
4: #include <map>
5: #include <utility>
6: using namespace std;
8: int main()
9: {
10: cout << "\nThis program illustrates the use of the make_pair() "
11: "function to create pairs\nfor an array, which are then used "
12: "to construct a map. A second map is then\nconstructed, using "
13: "all but the first and last pairs from the first map, and\nthe "
14: "contents of the smaller second map are then displayed.";
15: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
17: //Create an array of pairs
18: pair<char, int> a[] =
19: {
20: make_pair('A', 65),
21: make_pair('B', 66),
22: make_pair('C', 67),
23: make_pair('D', 68),
24: make_pair('E', 69)
25: };
26: //Initialize a map with values from the array
27: map<char, int> m1(a, a+5);
29: map<char, int>::iterator p_begin = m1.begin();
30: map<char, int>::iterator p_end = m1.end();
31: ++p_begin;
32: --p_end;
33: map<char, int> m2(p_begin, p_end);
35: cout << "\nHere is output which includes the contents of that "
36: "smaller second map:\n";
37: for (char ch='B'; ch<='D'; ++ch)
38: cout << ch << " has an ASCII code of " << m2[ch] << ".\n";
39: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
40: }