我正在阅读Nicolai Josuttis关于 C++11 STL 的精美书籍的第二版。
我找到了以下一段代码:
#include <functional>
#include <iostream>
int main()
{
auto plus10 = std::bind(std::plus<int>(),
std::placeholders::_1,
10);
std::cout << "+10: " << plus10(7) << std::endl;
auto plus10times2 = std::bind(std::multiplies<int>(),
std::bind(std::plus<int>(),
std::placeholders::_1,
10),
2);
// ...
}
我无法理解绑定对象“ plus10times2
”是如何工作的。它不应该绑定到 int 参数吗?
它如何绑定另一个绑定对象?调用调用运算符时它是如何工作的plus10times2
(plus10times2(7)
例如)?