Что является различием между Повышением:: свяжите и Повышение Финикс:: связать?

Я думаю, что это, возможно, было сознательным проектным решением, чтобы вынудить разработчиков создать функции, имена которых ясно передают свои намерения. В C++ разработчики перегрузили бы операторы с функциональностью, которая не будет часто иметь никакого отношения к обычно принимаемой природе данного оператора, делая почти невозможным определить то, что часть кода обходится без рассмотрения определения оператора.

12
задан Leandro Lima 14 August 2009 в 14:25
поделиться

1 ответ

phoenix :: bind похож на lambda :: bind функция, которая возвращает шаблон выражения, в котором записано, что она должна вызвать данную функцию. Они предназначены для совместной работы с Phoenix и lambda соответственно. В результате в них гораздо больше вещей. Подобно, тип, который они возвращают, перегружает все возможные операторы, так что их соответствующие действия могут быть записаны и выполнены позже.

boost :: bind - это «просто» связыватель. Он свяжет функцию и вернет тип с перегруженным оператором вызова функции, и не более того.

15
ответ дан 2 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: