Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как создать такую лямбда- функцию?
|
|||
|---|---|---|---|
|
#18+
Я хочу запретить копирование моих объектов, но особенностью объекта std::function является необходимость возможности копирования , что в свою очередь требует необходимость возможности копирования всех "вложенных" объектов. Чтобы обойти обязательность копирования вложенных объектов я создал "странный" конструктор копирования, который по сути перемещает "вложенный" объект (правда для этого надо позволить его изменять): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Может есть какой- то культурный способ использовать классические лямбды, а не мое оригинальное изобретение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2018, 19:16 |
|
||
|
Как создать такую лямбда- функцию?
|
|||
|---|---|---|---|
|
#18+
Решил, что мой только перемещаемый объект очень похож на unique_ptr и для проверки написал такой код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Зато с shares_ptr этот же код отлично работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Другими словами вопрос можно перефразировать так: как в лямбдах использовать только перемещаемые объекты, например, unique_ptr? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2018, 08:50 |
|
||
|
Как создать такую лямбда- функцию?
|
|||
|---|---|---|---|
|
#18+
Пока решил использовать некрасивое решение и вместо: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Так во время компиляции конструктор копирования получается доступным, а во время выполнения при его использовании вылезет ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2018, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=18&tid=2017829]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 187ms |

| 0 / 0 |
