Рассмотрим следующий код, который использует структурированные привязки из С++ 17:
int a = 0, b = 0;
auto [x, y] = std::tie(a, b);
y = 1;
std::cout << a << ' ' << b << '\n';
Поскольку я использовал auto, я ожидал бы, что код будет печатать 0 0, поскольку y должен быть копией. Однако он печатает 0 1. Зачем? Я думал, что голый auto никогда не выводит ссылку.