Если вы используете структурированные привязки, как такСтруктурированных привязки и обязательный экземпляр Пропуск
auto [a, b, c] = std::make_tuple(1, 10.0, "string object"s);
затем копирует из возвращаемого кортежа быть опущен и объекты идут прямо в a
, b
и c
или будет инициализацией двигаться конструкции из отдельных элементов кортежа? Я сомневаюсь, что это приведет к тому, что произойдет копия, но я не уверен, что описание обязательного экземпляра копии в стандарте обрабатывает этот случай.
«Будут ли скопированы копии из возвращенного кортежа, и объекты идут прямо в a, b и c« Нет », будут ли инициализации перемещать конструкции из отдельных элементов кортежа« Нет. – cpplearner
@cpplearner, то они скопированы? – Curious