Должен ли я использовать `std::move` из `std::future`?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Должен ли я использовать `std::move` из `std::future`?

Сообщение Anonymous »

Предположим, у меня есть функция, которая возвращает std::vector, и я хочу вызвать ее асинхронно.

Код: Выделить всё

std::vector foo(int n);

int main() {
auto future_vector = std::async(foo, 999);
// ... other stuff

// Questions are all about this:
auto actual_vector = future_vector.get();

// ... do stuff with actual_vector ...
}
Вопрос 1. Фактический_вектор создается путем копирования или перемещения из общего состояния? Нужно ли мне явно писать std::move(future_vector.get())?
Вопрос 2. Предположим, что функция завершена и больше не выполняет обещания: сохраняется ли общее состояние время жизни заканчивается, когда get вызывается в будущем, или оно сохраняется до тех пор, пока будущее не достигнет конца своего существования?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -stdfuture
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»