Здравствуйте, Анатолий Широков, Вы писали:
АШ>А почему не std::tuple https://en.cppreference.com/w/cpp/utility/tuple?
АШ>АШ>#include <tuple>
АШ>auto gather() {
АШ> return std::make_tuple(1, 2, 3);
АШ>}
АШ>int main() {
АШ> auto[x, y, z] = gather();
АШ>}
АШ>
Это C++17 плюс, что более важно, в случае со structured binding имеется неявная зависимость от порядка следования аргументов. Можно поменять местами аргументы в функции gather и забыть подправить функцию main, что приведет к тому что забиндится не то, что хотелось бы.