c++boost::绑定占位符位置
c++ boost::bind placeholder position
using namespace std;
double func(double a, double b)
{
return a - b;
}
int main()
{
double result = (boost::bind(&func, _1, _2))(1,0, 2.0);
cout << "a: " << result << endl;
result = (boost::bind(&func, _2, _1))(1,0, 2.0);
cout << "b: " << result << endl;
return 0;
}
输出:
a: 1
b: -1
我认为这是最简单的boost::bind
示例。但它的行为并不像我预期的那样奇怪。
我使用的是boost_1.58_0,gcc 4.8.4。有人能告诉我为什么换了这些名额吗??
您有一个打字错误,正在向绑定的函子传递三个参数:
(1,0, 2.0);
这将用1
代替_1
占位符,用0
代替_2
占位符,并忽略第三个参数,因此func
运行1 - 0
,即1
。
对于第二个调用,您传递相同的参数,但它们以不同的顺序传递给包装函子,因此func
运行0 - 1
,即-1
。
相关文章:
- 将模板与类模板扣除占位符参数匹配
- C++初始化 std::function 时如何将占位符绑定到引用/引用参数?
- Tensorflow C++ 占位符初始化
- std::bind 不会接受 bind 占位符的 std::cref - 为什么?
- qt 中的占位符
- 我可以在 c++ 中使用占位符作为数组的索引吗?
- 为什么协程不允许使用占位符返回类型?
- TensorFlow类占位符以及其他定义输入张量的方法
- QtLineEdit 占位符:如何让用户在插入模式下将字符 1 替换为 1
- 非类型模板参数中的占位符类型是否涉及作为模板参数传递的函数的重载解析?
- 是否可以使用自动占位符来推断非类型模板参数中的函数结果
- 如何使用 msgfmt 验证格式字符串中的位置表示法占位符
- 无法推断出占位符的概念
- 编译器错误boost :: asio ::占位符:: boost v1.69的错误
- std::绑定可变参数模板、绑定参数和占位符
- 尾随返回类型中的占位符类型的用途是什么
- 如何在折叠过程中获取成员类型的提升::mpl 占位符
- 将具有任意参数和占位符的函数存储在类中,然后再调用它
- 回调中的占位符_1是如何工作的
- c++boost::绑定占位符位置