当前位置: 首页 > news >正文

网站开发行业信息网优秀的学校网站欣赏

网站开发行业信息网,优秀的学校网站欣赏,中国建设人才网登录,网站开发人员主要干什么的目录 1、boost::function 1.1 概述 1.2 boost包装器和C11包装器对比 1.2、代码示例 1、boost::function 1.1 概述 boost::function 是 Boost 库中提供的一个通用函数对象包装器#xff0c;它可以存储指向任何可调用对象的指针#xff0c;并且可以在任何时候通过 operat…目录 1、boost::function 1.1 概述 1.2 boost包装器和C11包装器对比 1.2、代码示例 1、boost::function 1.1 概述 boost::function 是 Boost 库中提供的一个通用函数对象包装器它可以存储指向任何可调用对象的指针并且可以在任何时候通过 operator() 调用。这个功能类似于C11及以后版本中的 std::function。使用 boost::function 的主要好处是可以创建类型安全的函数指针容器可以接受不同类型的函数、成员函数、lambda 表达式或仿函数functor作为参数方便在算法和数据结构中传递可调用实体。 1.2 boost包装器和C11包装器对比 C11和Boost库中的包装器在概念上具有相似之处都是为了提供对可调用实体如函数、函数指针、成员函数指针、lambda表达式以及仿函数等的通用接口。但是它们的具体实现、依赖性以及功能细节有所不同。 相同之处 1. 目的两者都提供了将不同类型的可调用对象统一为一个类型安全的接口的能力以便在需要可调用对象的地方进行传递和使用。 2. 灵活性无论是C11标准库中的std::function还是Boost库中的boost::function都能存储不同类型和数量参数的可调用对象。 3. 适配器模式它们都作为适配器模式的一种应用允许用户以一致的方式处理多种不同的调用机制。 不同之处 1. 标准支持std::function是C11及更高版本的标准库部分不需要额外安装库即可使用而boost::function来自Boost库这是一个第三方开源库需要独立安装才能在项目中使用。 2. 语法和API虽然功能类似但具体的声明和使用的API语法略有不同。如在C11中使用std::functionvoid(int) f;而在Boost中则是boost::functionvoid (int) f;。 3. 性能与兼容性由于std::function是标准库的一部分它通常会随着编译器和标准库的更新得到更好的优化和支持。而Boost::function可能在某些旧版编译器或平台上提供更多兼容性支持。 4. 设计细节两个类模板的内部实现细节可能有所差异包括内存管理策略、效率表现等。随着时间推移C标准库的实现可能会吸取Boost库的优点并进行改进。 5. 依赖关系如果项目仅支持C11及以上版本并且希望避免外部库依赖那么std::function是首选。反之对于早期不支持C11的环境或者已经集成Boost库的项目boost::function可以提供类似的便利。 6. 其他特性除了基本的功能外Boost库还可能包含更多相关辅助工具或扩展功能比如与Boost.Lambda、Boost.Bind等库配合时有更丰富的功能集成。而C11及以后的标准库本身也引入了lambda表达式和右值引用等特性使得函数对象的创建和使用更加方便直接。 1.2、代码示例 #include boost/function.hppvoid free_function(int x){std::cout Free function called with: x std::endl; }struct MyFunctor {void operator()(int x) const {std::cout Functor called with: x std::endl;} };int main() {boost::functionvoid (int) func;// 绑定自由函数func free_function;func(10);// 绑定成员函数MyFunctor functor;func boost::bind(MyFunctor::operator(), functor, _1);func(20);// 绑定lambda表达式func [](int x){ std::cout Lambda called with: x std::endl; };func(30);return 0; }
http://www.tj-hxxt.cn/news/227274.html

相关文章:

  • 做一个网站需要花费多少钱夺宝网站还可以做吗
  • 服务器建网站网页内容
  • 小说素材网站推进网站建设
  • 网站建设的公司有哪些重庆最近的新闻大事10条
  • 浙江建设职业技术学院门户网站51找呀模板网
  • 怎么做网站编程网络服务商机构
  • html网页设计结课作业保定seo企业网站
  • 网站职业培训机构河北商城网站搭建多少钱
  • 光速网络网站做金融的免费发帖的网站有哪些
  • 可以做微信推文的网站建筑建设网站
  • 无锡网站制作推荐广州网站建设很棒 乐云践新
  • 高邮市建设局网站公众号文章排版
  • 招商网站开发文档wordpress创建分类目录
  • 邢台做网站推广价格东营网络营销
  • 搭建网站平台有前途吗建设网站的和服务器
  • 宁波企业网站设计教师个人网站建设
  • 免费做网站公司ydwzjs网站记录ip 修改
  • 哪里可以买链接网站常德做网站
  • 宿州集团网站建设网站建设排名优化技巧
  • 创意江苏网站建设中国十大贸易公司排名
  • 临桂建设局安全股网站企业建设网站优势
  • 网站建设初期的工作计划网站建设公司客户来源渠道
  • 南通网站优化推广网站建设现在主要做些什么
  • 摄影网站难做吗网站推广指标包括( )。
  • 便利的微网站建设软件定制一般价格
  • 中国古建筑网站如何快速网络推广
  • 网站开发的系统需求北京专业做网站公司
  • 广州公司网站提供最好的搜索引擎
  • 做网站阜阳现在ps做网站的尺寸
  • 忘记网站后台用户名wordpress4.9教学