¿Cuál es la diferencia entre Boost :: bind y Boost Phoenix :: bind?¿Cuál es la diferencia entre Boost :: bind y Boost Phoenix :: bind?
12
A
Respuesta
15
phoenix::bind
es como lambda::bind
una función que devuelve una plantilla de expresión que registra que tiene que llamar a la función dada. Estos están diseñados para trabajar junto con Phoenix y Lambda, respectivamente. Como resultado, contienen muchas más cosas. Por ejemplo, el tipo que devuelven sobrecarga a todos los operadores posibles para que su acción respectiva pueda grabarse y ejecutarse más tarde.
boost::bind
es "solo" una carpeta. Vinculará la función y devolverá un tipo que tenga el operador de llamada de función sobrecargado, y no mucho más.
Cuestiones relacionadas
- 1. ¿Cuál es la diferencia entre boost :: bind y boost :: lambda :: bind?
- 2. cómo boost :: function and boost :: bind work
- 3. Visual Studio 2010 y boost :: bind
- 4. ¿De qué sirve usar boost :: mem_fn si tenemos boost :: bind?
- 5. boost :: bind with protected members & context
- 6. ¿Hay problemas boost :: bind con VS2010?
- 7. Uso de Google Mock con boost :: bind
- 8. Uso de boost :: bind con un constructor
- 9. boost lambda versus phoenix
- 10. Diferencia entre .bind y otros eventos
- 11. ¿Es seguro usar std :: bind con boost :: signals2?
- 12. ¿Es posible usar boost :: bind para efectivamente concatenar funciones?
- 13. ¿Cuál es la diferencia entre boost :: io_service poll_one y run_one?
- 14. ¿Cuál es la diferencia entre boost :: multi_array vistas y subarrays
- 15. boost :: bind y << operador en C++
- 16. Usando for_each y boost :: bind con un vector de punteros
- 17. Cómo usar las funciones de lambda con boost :: bind/std :: bind en VC++ 2010?
- 18. boost :: bind no puede funcionar con la expresión condicional?
- 19. Ayuda para comprender los argumentos de boost :: bind placeholder
- 20. ¿Cómo distinguir entre bind() en sys/sockets.h y std :: bind?
- 21. ¿Debería std :: bind ser compatible con boost :: asio?
- 22. ¿Cómo se pasa boost :: bind objects a una función?
- 23. Función de miembro de clase como devolución de llamada utilizando boost :: bind and boost :: function
- 24. ¿Cuál es la diferencia entre los métodos bind y live en jQuery?
- 25. Cuál es la diferencia entre <#eval y <#bind en asp.net
- 26. ¿Cuál es la diferencia entre <% # Bind ("")%> y <% # Eval ("")%> en ASP.NET?
- 27. Guice: Diferencia entre Carpeta # bindConstant() y Cuaderno # bind() ... ToInstance
- 28. Cómo usar boost :: bind con params que no se pueden copiar, por ejemplo boost :: promise?
- 29. Diferencia entre boost :: ref y referencias regulares
- 30. ¿Por qué no se pueden usar std :: bind y boost :: bind intercambiablemente en este tutorial de Boost.Asio?
Vale la pena señalar que en [Phoenix 3.0] (http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/index.html) (lanzado en impulso 1.47), 'phoenix :: bind' es [compatible] (http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html) con 'boost :: bind' . Teniendo en cuenta la respuesta de litb aquí, esto significa que podrías usar 'phoenix :: bind' en lugares donde previamente usaste' boost :: bind', pero no creo que funcione al revés (no puedes usar 'boost :: bind' dentro de una lambda y esperamos que funcione igual que' phoenix :: bind'). –