Ну, моя проблема - правильно передать boost::coroutines::coroutine<std::string(void)>
объект как аргумент функции. Я не могу сделать это по ссылке, потому что вызов этого метода реализуется boost::bind
и boost::asio
(есть вероятность, что этот адрес памяти будет недействительным). Итак, есть ли простой способ сделать это? Или единственный способ, который оставил меня, - упаковать этот объект в указатель?Передача boost.coroutine через аргументы функции
0
A
ответ
0
вы могли бы позволить shared_ptr управлять сопрограммой и пропускать weak_ptr для bind(). В функции обратного вызова вы можете проверить через weak_ptr, если shared_ptr все еще действует:
shared_ptr< coroutine<...> > sp = wp.lock();
if (sp) {
...
} else {
// shared_ptr was released
}
Смежные вопросы
- 1. Передача именованные аргументы функции Javascript
- 2. Передача функции указатель на функцию + аргументы функции
- 3. Looping через аргументы функции python
- 4. Передача массивов через функции
- 5. Передача значений через функции
- 6. Передача функции шаблона, аргументы в поток
- 7. Передача содержимого tuple как аргументы вариационной функции
- 8. Boost.Coroutine crashing на iPhone
- 9. Передача переменных через функции C
- 10. Передача переменных PHP через функции?
- 11. Передача идентификатора через параметр функции
- 12. Передача двумерного массива через функции
- 13. Передача неназванных классов через функции
- 14. PHP отправляет дополнительные (необязательные) аргументы через аргументы функции
- 15. javascript, передающий аргументы через функции и присвоение '='
- 16. C - Прохождение структур через аргументы функции
- 17. Javascript: аргументы и аргументы функции []
- 18. Передача идентично названных аргументов через вложенные функции
- 19. Различия между Boost.Coroutine и Boost.Coroutine2
- 20. Передача аргументов в функции Python через C++
- 21. Передача целого массива функции
- 22. Аргументы функции внутри функции
- 23. Аргументы функции
- 24. аргументы функции
- 25. Передача аргументов функции Compose'd?
- 26. Функции и аргументы
- 27. Julia: Передача аргументов ключевого слова для функции через функцию map()
- 28. Передача строки Аргументы для kill() в C
- 29. Схема рекурсии через аргументы
- 30. Передача командной строки Аргументы для интернет-исследователя через VB
, пожалуйста, добавьте код на свой вопрос –