0
点赞
收藏
分享

微信扫一扫

C++11中function函数

今天你读书了吗 2022-02-24 阅读 31

包含头文件 #include <functional>

//普通函数
int add(int i, int j) {
    return i+j;
}
//lambda表达式
auto add = [](int i, int j){
    return i+j;
}
//函数对象类
class add{   //仿函数
    int operator() (int i, int j){
        return i+j;
    } 
}

struct add{
    int operator() (int i, int j){
        return i+j;
    } 
}
std::function<int(int, int)> add = [](int i, int j){
    return i+j;
}

typedef std::function<int(int, int)> AddCallback;

类模板std::function是通用、多态的函数封装。可以封装任意的函数对象。

1. function对象最大的用处是实现函数回调,统一处理不同的函数对象类型。函数指针也可以完成同样功能,但是用std::functional实现更加安全。

2. 该对象能与NULL或者nullptr进行比较,但不能检查是否相等

举报

相关推荐

0 条评论