Skip to content

Commit ef90e28

Browse files
authored
Update 010_map_insert_or_assign.cpp
1 parent 6134339 commit ef90e28

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
1-
1
1+
#include <iostream>
2+
#include <map>
3+
#include <string>
4+
5+
auto print_node = [](const auto &node) {
6+
std::cout << "[" << node.first << "] = " << node.second << '\n';
7+
};
8+
9+
auto print_result = [](auto const &pair) {
10+
std::cout << (pair.second ? "inserted: " : "assigned: ");
11+
print_node(*pair.first);
12+
};
13+
14+
int main()
15+
{
16+
std::map<std::string, std::string> myMap;
17+
18+
print_result( myMap.insert_or_assign("a", "apple" ) );
19+
print_result( myMap.insert_or_assign("b", "banana" ) );
20+
print_result( myMap.insert_or_assign("c", "cherry" ) );
21+
print_result( myMap.insert_or_assign("c", "clementine") );
22+
23+
for (const auto &node : myMap) { print_node(node); }
24+
}

0 commit comments

Comments
 (0)