Параметр-словарь функции в C++
Давайте теперь будем передавать параметром std::map.
При передаче по значению функция работает с копией
словаря, а не с исходной переменной в main.
Запишем функцию, которая печатает значение
по ключу "a" в переданной копии:
#include <iostream>
#include <map>
#include <string>
void show(std::map<std::string, int> arr) {
std::cout << arr["a"] << "\n";
}
int main() {
std::map<std::string, int> arr2 = {{"a", 1}, {"b", 2}, {"c", 3}};
show(arr2);
return 0;
}
Функция может сложить все значения в копии словаря и вернуть сумму:
#include <iostream>
#include <map>
#include <string>
int func(std::map<std::string, int> arr) {
int num = 0;
for (const auto& elem : arr) {
num += elem.second;
}
return num;
}
int main() {
std::map<std::string, int> arr2 = {{"a", 1}, {"b", 2}, {"c", 3}};
std::cout << func(arr2) << "\n";
return 0;
}
Дан словарь:
std::map<std::string, int> arr = {{"x", 1}, {"y", 2}, {"z", 3}};
Сделайте функцию с параметром такого словаря и строкой ключа. Она должна выводить значение по переданному ключу.
Дан словарь:
std::map<std::string, int> arr = {{"x", 1}, {"y", 2}, {"z", 3}};
Сделайте функцию, которая вернет сумму значений этого словаря.