1: //map08.cpp
3: #include <iostream>
4: #include <map>
5: #include <utility>
6: using namespace std;
8: void DisplayASCIICodes
9: (
10: const map<char, int>& asciiCodes //in
11: );
12: /**<
13: Display pairs of ASCII codes and their corresponding characters.
14: @return void
15: @param asciiCodes A map of char/int pairs.
16: @pre asciiCodes has been initialized.
17: @post The componets of the map asciiCodes have been displayed,
18: one per line, with the ASCII code of any character in the map
19: following that character on the line.
20: */
22: int main()
23: {
24: cout << "\nThis program illustrates a const map iterator.";
25: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
27: //Create an array of pairs
28: pair<char, int> a[] =
29: {
30: pair<char, int>('A', 65),
31: pair<char, int>('B', 66),
32: pair<char, int>('C', 67),
33: pair<char, int>('D', 68),
34: pair<char, int>('E', 69)
35: };
36: //Initialize a map with values from the array
37: map<char, int> asciiCodes(a, a+5);
39: DisplayASCIICodes(asciiCodes);
40: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
41: }
43: void DisplayASCIICodes
44: (
45: const map<char, int>& asciiCodes //in
46: )
47: {
48: //const input parameter requires const_iterator
49: map<char, int>::const_iterator p = asciiCodes.begin();
50: cout << endl;
51: while (p != asciiCodes.end())
52: {
53: cout << p->first << " has an ASCII code of " << p->second << ".\n";
54: ++p;
55: }
56: }