仿函数 operator()()如何把一个类函数嵌套再另外一个类中
小陆zi 2018-07-10 10:31:10 大家好:
关于仿函数:
(1)
class LessThan5Functor {
public:
bool operator ()(const string& str) {//寻找长度小于5的字符串
return str.length() < 5;
}
};
然后定义 类LessThan5Functor的变量 lt:
LessThan5Functor lt;
lt(“hello”);
通过函数类的实例lt,然后调用重载operator ()的函数。
但是还有一种表达方式我不明白:
(2)
std::function<void(int)> f_obj = LessThan5Functor();
function是一个模板类 如何把任意一个类嵌套再function的类中?
c++有没有这样的类或者表达式可以使两个不同的类相等(嵌套)?
class A a; //A和B不是继承的关系
class B b=a;
谢谢