Рассмотрим следующий код, который использует структурированные привязки из С++ 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
никогда не выводит ссылку.