C++Boost库学习之函数式编程 function库和bind库

本文介绍了C++ Boost库中的Function库和Bind库,详细阐述了它们的基本概念、功能及使用示例。Function库提供了一种灵活的函数对象包装器,而Bind库则支持任意函数对象、函数和成员函数指针的绑定。虽然C++11的lambda表达式在很多方面更优,但在某些场景下,理解并运用Function和Bind仍然是提升C++编程能力的重要部分。
摘要由CSDN通过智能技术生成

目录

1.function库概述
  使用例子
2.bind库概述
  使用例子

1.function库概述 ^

  Boost.Function库包含一系列类模板,它们是函数对象包装器。这个概念类似于广义回调。它与函数指针共享功能,它们都定义了一个调用接口(例如,一个带有两个整数参数的函数并返回一个浮点值),通过它可以调用某些实现,并且调用的实现可能会在整个过程中发生变化。可以使用函数指针来推迟调用或进行回调的任何地方,可以使用Boost.Function来允许用户在目标的实现中具有更大的灵活性。目标可以是任何“兼容”的函数对象(或函数指针),这意味着Boost.Function指定的接口的参数可以转换为目标函数对象的参数。

  使用例子 ^

#include<iostream>
#include<boost/function.hpp>
using namespace boost;
using std::cout;
using std::endl;

struct func {
    float operator()(int x,int y) const { 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值