int func(int x){return x;}
...
std::function<int(int)> x = std::bind(func, std::placeholders::_1);
x(123);
- Действительно ли
x(123)вызываетoperator()функтора, сгенерированногоstd::function, который в свою очередь вызываетoperator()функтора, которыйstd::bindгенерирует, который в конечном итоге вызываетfunc? Оптимизируется ли это в чем-то оптимальном, чем вызовfunc(123)? - Где живет функтор, который
std::bindгенерирует? В каком объеме? И какstd::bindназовите его? (возможны конфликты имен) - Может ли lambdas заменить все использования
std::bind? - Является ли
std::bindоптимальным, чем реализация вместо lambda? - Что связано с синтаксисом аргумента шаблона
std::function? Как это анализируется и как я могу использовать синтаксис аргумента шаблона в другом месте?