170 похожих чатов

Всем привет! Внезапно чо-то вспомнил старый и довольно глупый вопрос. Есть массив:

std::vector<std::future<SomeResource>> объектов, которые, собственно, могут быть загружены асинхронно или отложенно. Как хранить эти отложенно загруженные объекты? В своё время первое, что пришло в голову, было std::vector<std::variant<std::future<SomeResource>,SomeResource>>, но при всей моей любви к variant пользоваться этой штукой, кхм, не очень удобно.

Кто-нибудь подскажет более красивые способы? Или я вообще хочу чего-то странного?

6 ответов

21 просмотр

у тебя есть куча future, почему просто по ним не пройтись и не достать то что в них валяется?

Denis P
у тебя есть куча future, почему просто по ним не п...

А как к значениям потом обращаться когда ещё хочется почитать

Слава
А как к значениям потом обращаться когда ещё хочет...

что значит ещё почитать) ты везде get() вызвал и получил vector<T> условный

Denis P
что значит ещё почитать) ты везде get() вызвал и п...

Ну я про то, что ты хранишь вектор future, прочитал их. Тебе нужно их перекладывать в другой вектор. Проблема тогда когда у тебя это хранится как поле и нужно как-то эти вектора местами менять

Anton-Semenov Автор вопроса
Denis P
у тебя есть куча future, почему просто по ним не п...

ну, там дело было в том, что были важны порядковые номера объектов для доступа по индексу, и при этом запрашивать их могли, очевидно, много раз - загрузка происходила только в первый, или при инвалидации. То есть вариант "сразу запустить все таски и дождаться последнего" не подходит, а постепенная загрузка и выпихивание во второй массив загруженных объектов - вариант не сильно более красивый - в обоих в массивах будут появляться пустоты

Anton Semenov
ну, там дело было в том, что были важны порядковые...

это в любом случае лучше чем странные variant в векторе

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта