C Programs If you really want to learn programming then do attempt C programs before watching its solution. Do not give up too early, give time to yourself. When program is developed, you should dry run it to check its. How can we map keys to values in a C# program? The C# language has no built-in map type. But it offers a powerful Dictionary type, which we use to map things.

This post will discuss how to print out all keys and values from a std::map or std::unordered_map in C++.

Maps are associative containers whose elements are key-value pairs. Using a map, we can associate a value with some key and later retrieve that value using the same key. The retrieval operation in a map is very fast. There are several ways in C++ to print out all pairs present on the map:

1. Using range-based for-loop

The recommended approach in C++11 is to use the new range-based for-loops for printing the map pairs, as shown below:

2
4
6
8
10
12
14
16
18
20
22
#include <unordered_map>
template<typenameK,typenameV>
{
std::cout<<'{'<<pair.first<<': '<<pair.second<<'}n';
}
intmain()
std::unordered_map<int,char>m={
{2,'B'},
};
}

Output:

{3: C}
{1: A}
{2: B}

C Program To Print World Map

2. Using std::for_each function

C program to print world map worksheet

Another simple solution is to use std::for_each. It takes an iterator to the beginning and end of the map, and applies a specified function on every pair within that range. The specified function may be a unary function, a lambda expression, or an object of a class overloading the () operator.

2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
#include <unordered_map>
{
voidoperator()(conststd::pair<K,V>&p){
}
voidprint(conststd::pair<K,V>&p){
}
template<typenameK,typenameV>
{
std::for_each(m.begin(),
[](conststd::pair<int,char>&p){
});
// or pass an object of a class overloading the ()operator
// std::for_each(m.begin(), m.end(), print<K, V>);
{
{1,'A'},
{3,'C'}
}

Output:

{3: C}
{1: A}
{2: B}

3. Using Iterator

We can also use iterators to iterate a map and print its pairs. It is recommended to use the const_iterator from C++11, as we’re not modifying the map pairs inside the for-loop.

2
4
6
8
10
12
14
16
18
20
22
#include <unordered_map>
template<typenameK,typenameV>
{
std::cout<<'{'<<(*it).first<<': '<<(*it).second<<'}n';
}
intmain()
std::unordered_map<int,char>m={
{2,'B'},
};
}

Output:

{3: C}
{1: A}
{2: B}

4. Operator<< Overloading

C Program To Print World Map Without

To get std::cout to accept the map object, we can overload the << operator to recognize an ostream object on the left and a map object on the right, as shown below:

C Program To Print World Map Online

2
4
6
8
10
12
14
16
18
20
22
24
#include <unordered_map>
template<typenameK,typenameV>
conststd::unordered_map<K,V>&m){
os<<'{'<<p.first<<': '<<p.second<<'}n';
returnos;
{
{1,'A'},
{3,'C'}
}

Output:

{3: C}
{1: A}
{2: B}

Map

C Program To Print World Map

That’s all about printing out all keys and values from a map in C++.