struct F
{
int operator()(int a, int b) { return a - b; }
bool operator()(long a, long b) { return a == b; }
};
F f;
int x = 104;
bind<int>(f, _1, _1)(x); // f(x, x), i.e. zero
某些编译器在使用bind(f,...)语法时遇到问题。出于便携性原因,支持表达上述内容的替代方法:
boost::bind(boost::type<int>(), f, _1, _1)(x);
如上所述,代码使用boost :: type作为函数对象类型, 我知道哪里包含boost :: type实现?
答案 0 :(得分:0)
我环顾四周,找到了下面的定义。
// type.hpp
namespace boost {
// Just a simple "type envelope". Useful in various contexts, mostly to work
// around some MSVC deficiencies.
template <class T>
struct type {};
}