Имена полей std::pair в C++
Привязка по именам раскладывает пару
на две переменные и не повторяет first и second.
В квадратных скобках после auto перечисляют
ровно два идентификатора - по одному на каждое
поле. Запишем пару строки и целого, разложим
ее и выведем второе имя:
#include <utility>
#include <string>
std::pair<std::string, int> row{"Ann", 31};
auto [name, age] = row;
std::cout << age << "\n";
Имена выбирают по смыслу данных, а не по служебным меткам шаблона. Запишем пару двух целых и выведем сумму через binding:
#include <utility>
std::pair<int, int> edge{4, 6};
auto [width, height] = edge;
std::cout << width + height << "\n";
Дана пара:
std::pair<std::string, int> tag{"beta", 2};
Получите две переменные через structured binding и выведите строковое имя.
Создайте std::pair<char, int> со
значениями 'z' и 100. Разложите
пару на два имени и выведите целую часть.