63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
1 | ||||||
Как получить тип возврата шаблонной функции?11.09.2020, 20:27. Показов 1876. Ответов 21
Метки нет (Все метки)
0
|
11.09.2020, 20:27 | |
Ответы с готовыми решениями:
21
Тип контейнера как параметр шаблонной функции Как определить тип возвращаемого значения шаблонной функции по типу итератора (не auto)? Указать тип переменной в шаблонной функции Зачем функции дают тип возврата - имя класса? |
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
11.09.2020, 20:30 | 2 |
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
11.09.2020, 20:36 [ТС] | 3 | |||||
oleg-m1973,
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
11.09.2020, 20:38 | 4 | |||||
Сообщение было отмечено ReYalp как решение
Решение
Но, насколько я понял, тебе не совсем это нужно. Что ты пытаешься сделать с packaged_task?
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
11.09.2020, 20:44 [ТС] | 5 |
oleg-m1973, просто создать packaged_task чтобы потом в контейнер вставлять как задачи которые нужно выполнить
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
11.09.2020, 20:55 | 6 | |||||
В контейнер тебе нужно будет конкретную packaged_task класть. Так что invoke_result_t здесь вряд ли понадобится
А так:
0
|
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
||||||||||||||||
13.09.2020, 16:44 | 7 | |||||||||||||||
по С.Майерсу - "Эффективный и современный C++"
- через std::shared_future<void>, насколько поняла (ну детали подкрутить под себя)
просто у меня на -std=c++17 код от oleg-m1973 выдаёт
P.S. g_display_mutex добавила, как кажется... - кажется, что в это случае он нужен Добавлено через 8 минут и эти не забудьте
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
13.09.2020, 17:00 | 8 | |||||
Ну так выстави, в чём проблема? В майкрософте такое и в 17-й студии работало, правда с другим синтаксисом.
Добавлено через 1 минуту Попробуй ещё вот так
0
|
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
||||||
13.09.2020, 17:12 | 9 | |||||
я думала сначала что-то подгружать надо? например в msys2...
т.е. я ведь 20-й не ставила... чтобы использовать его в ide... я же на U++ Добавлено через 6 минут говорит, что
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.09.2020, 17:13 | 10 |
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
13.09.2020, 17:15 | 11 |
Это ничего не изменит. Взять future можно только один раз и в единственном экземпляре.
1
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.09.2020, 17:16 | 12 |
А ну да, у тебя там несколько потоков непонятно зачем ждут один prоmice. Там да, наверное нужен shared
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
13.09.2020, 17:17 | 13 |
Вместо захвата пака аргументов в лямбде можно использовать std::bind (это точно должно поддерживаться)
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.09.2020, 17:17 | 14 |
Обычно так не делают - это насчёт ожидания promice
0
|
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
|
13.09.2020, 17:57 | 15 |
убрала конечно же...
и сам Майерс пишет (zayats80888 ответил выше)... Добавлено через 1 минуту я о том же Добавлено через 31 минуту я вот думаю - может такой вариант удобен для долго-исполняющейся операции?... например загрузка большОго файла?
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.09.2020, 18:03 | 16 |
Не, здесь у тебя всё нормально. Я просто этими промайсами пользуюсь крайне редко, поэтому не понял сходу.
Добавлено через 3 минуты А что значит для "долго-исполняющейся операции", для ожидания её окончания? Ну да, promice вроде именно для этого и были придуманы
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
13.09.2020, 18:13 | 17 |
Создание и запуск потока - дорогая операция. В данном случае promise используется как "отмашка", что бы все потоки запустили полезную работу более-менее одновременно. Это иногда используется при отладке, например.
0
|
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
|
13.09.2020, 18:22 | 18 |
для исполнени в несколько потоков... хотя да - для IO-bound операций - многопоточность не совсем то, что надо... но нужны async и futures...просто, ну хотя бы, можно ли этот вектор промисов и запускаемый с них вектор тредов - рассматривать как thread-pool?.. отложенный...
? или всё-таки для этого вектора промисов - все будут запускаться по отдельности? без выигрыша по скорости, как если бы использовался thread-pool?
0
|
6105 / 3460 / 1405
Регистрация: 07.02.2019
Сообщений: 8,790
|
|
13.09.2020, 18:24 | 19 |
0
|
51 / 149 / 33
Регистрация: 29.06.2019
Сообщений: 1,428
|
|
13.09.2020, 18:32 | 20 |
в смысле "этого_вектора" - vt в примере...
вобщем технически - можно ли его (этот вектор) назвать thread-pool'ом?.. просто отложенным... или thread-pool выгоднее? ... (по времени создания каждого потока в нём) Добавлено через 5 минут хотя, наверно, без разницы по времени создания каждого потока в нём... просто для разных целей - если нужен отложенный... то use promices - вопрос снимается
0
|
13.09.2020, 18:32 | |
13.09.2020, 18:32 | |
Помогаю со студенческими работами здесь
20
Как получить код возврата функции в консоли js? Передать тип функции для возврата Тип возврата функции recv и максимально возможный размер принятого пакета. Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции Как использовать в шаблонной функции типы vector или string, и только им присущие функции? Как получить код возврата? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |