Qual è la differenza tra Boost :: bind e Boost Phoenix :: bind?Qual è la differenza tra Boost :: bind e Boost Phoenix :: bind?
12
A
risposta
15
phoenix::bind
è una funzione che restituisce un modello di espressione che registra che deve chiamare la funzione data. Questi sono progettati per funzionare insieme con phoenix e lambda, rispettivamente. Di conseguenza, contengono molte più cose. Come, il tipo che restituiscono sovraccarica tutti i possibili operatori in modo che la loro rispettiva azione possa essere registrata ed eseguita successivamente.
boost::bind
è "solo" un raccoglitore. Legherà la funzione e restituirà un tipo con sovraccarico la funzione chiamata operatore, e non molto altro.
Problemi correlati
- 1. Differenza tra C++ 11 std :: bind e boost :: bind
- 2. Dovrei vedere differenze significative tra std :: bind e boost :: bind?
- 3. boost :: bind con membri protetti e contesto
- 4. Qual è la differenza tra `@ Bind` e` @ BindView` in butterknife?
- 5. qual è la differenza tra "call/apply" e "bind"
- 6. Qual è la differenza tra spring: bind e form: errori?
- 7. Visual Studio 2010 e boost :: bind
- 8. Passando da boost :: bind a std :: bind: errore
- 9. Qual è la differenza tra boost :: io_service poll_one e run_one?
- 10. Aiutare a capire boost :: bind argomenti segnaposto
- 11. Differenza tra Binding e x: Bind
- 12. Differenza tra .bind e altri eventi
- 13. Funzione membro della classe come richiamata utilizzando la funzione boost :: bind e boost ::
- 14. Qual è la differenza tra std :: to_string, boost :: to_string e boost :: lexical_cast <std::string>?
- 15. È sicuro usare std :: bind con boost :: signals2?
- 16. Se std :: bind è compatibile con boost :: asio?
- 17. Differenza nella capacità tra fmap e bind?
- 18. Qual è la differenza tra boost :: multi_array views and subarrays
- 19. boost :: bind e << operatore in C++
- 20. Come utilizzare le funzioni lambda con boost :: bind/std :: bind in VC++ 2010?
- 21. Qual è la differenza tra le variabili di bind e la variabile che immetto usando &&?
- 22. Differenza tra irange e counting_range in Boost
- 23. differenza tra pthread_spinlock e boost :: smart_ptr :: spinlock?
- 24. Qual è la differenza tra i metodi bind e live in jQuery?
- 25. Qual è la differenza tra <#eval e <#bind in asp.net
- 26. Come forzare il sovraccarico della funzione template per boost :: bind?
- 27. boost :: bind non può funzionare con espressioni condizionali?
- 28. Posso stringificare un'espressione Boost Phoenix?
- 29. Come utilizzare boost :: bind con parametri non copiabili, ad esempio boost :: promise?
- 30. qual è la differenza tra boost :: pool <> :: malloc e boost :: pool <> :: ordered_malloc, e quando dovrei usare boost :: pool <> :: ordered_malloc?
Vale la pena notare che in [Phoenix 3.0] (http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/index.html) (rilasciato in boost 1.47), 'phoenix :: bind' è [compatibile] (http://www.boost.org/doc/libs/1_47_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html) con 'boost :: bind' . Tenendo presente la risposta di litb qui, questo significa che potresti usare 'phoenix :: bind' in posti in cui hai usato in precedenza' boost :: bind', ma non penso che funzioni in senso inverso (non puoi usare 'boost :: bind' all'interno di un lambda e si aspetta che funzioni come' phoenix :: bind'). –