【发布时间】:2020-08-28 05:07:02
【问题描述】:
我正在阅读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))?
【问题讨论】:
标签: c++ function c++11 stdbind callable-object