турпл/пару или подобное в функцию, а потом хочу удобно с этим работать, то если я пишу auto [a,b,c,d] = turple, то по сути у меня там копия же под ним? А есть вариант сразу принимать в эти аргументы и работать удобно?
нет там копии
а что это по логике, алиасы для mypair.first / second?)))
Есть там ровно одна копия
auto& [a, b, c, d] = tuple;
и что тогда внутри, алиасы?
В любом случае алиасы. Либо на куски временного объекта, либо оригинального
Не понял вопроса, какие алиасы? a, b, c, d — это обычные переменные, в случае с auto& [a, b,...] это ссылки на поля тьюпла, а в случае auto [a, b, ...] — это копии полей
вопрос в том как работать без потери производительности, не создавая копий и прочего
нет, a b c d это не обычные переменные
че то дичь
А какие тогда? Это обычные l-value переменные, у них есть адрес и в них можно записать значение
то то их до с++20 захватывать в лямбдах нельзя было
Биндинги это не переменные
До сих пор нельзя вроде бы
Обсуждают сегодня