10.9.2 std::function 代替函数指针 Page182~183

这篇具有很好参考价值的文章主要介绍了10.9.2 std::function 代替函数指针 Page182~183。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

std::function是一个模板类,基本可作为函数指针的代替品,具备更多功能,特别是与函数对象及bind配合使用。使用std::function时,需要添加头文件 #include <functional>

1.定义函数指针

10.9.2 std::function 代替函数指针 Page182~183,《白话C++》第10章    STL和boost,《白话C++》学习,算法,c++

18行,定义了一个函数指针类型PFoo,

19行,声明一个函数指针pfoo,并将foo赋给pfoo

2.使用std::function代替函数指针

10.9.2 std::function 代替函数指针 Page182~183,《白话C++》第10章    STL和boost,《白话C++》学习,算法,c++

37行,定义了一个function类型,该类型存储着一个函数地址,函数的类型是 char (int, double)

38行,声明一个function对象 func_foo, 将foo赋给func_foo文章来源地址https://www.toymoban.com/news/detail-808655.html

到了这里,关于10.9.2 std::function 代替函数指针 Page182~183的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS报错命名空间“std”中的“unary_function”

    刚刚将我的 Xcode 升级到 15.0,突然它开始在 RCT_Folly 中出现以下错误 我尝试删除缓存数据和派生数据并清理构建。也尝试删除 pod 和 node_modules。但没有任何帮助。 于是我按照网上提供的方法解决了: 选择 Pods 构建设置 在“Apple Clang - 预处理”部分 在“宏”部分下 添加发布和

    2024年02月05日
    浏览(44)
  • 不要轻易定义指向std::vector中的元素的指针

    类应该是被封装的,类的用户通过接口使用类提供的功能,而不必关心类的内部如何实现。然而,C++标准库容器 std::vector 的实现渗透到了接口中来。对于以下代码: 我们初始化了一个有3个int元素的vector,定义了一个int 指针p,指向v[1] , 打印 *p 以及v[1] 的值。 然后向 v 中pu

    2024年02月05日
    浏览(38)
  • c++ | this指针 和bind、function

    个人理解: this 指针 可以简单理解为类 对象的 指针(也是隐藏指针),注意,类的成员(成员函数、成员变量)是通过类的对象进行调用的。如果把函数充当成员函数是错误的,粗鲁的解释,类的成员函数都有一个隐藏的指针(this指针),但是 c函数是没有指针的。 看看

    2024年02月13日
    浏览(35)
  • C# 使用SIMD向量类型加速浮点数组求和运算(4):用引用代替指针, 摆脱unsafe关键字,兼谈Unsafe类的使用

    作者: zyl910 目录 一、引言 二、办法说明 2.1 历史 2.2 局部引用变量与引用所指的值(类似指针的 地址运算符 、间接运算符 * ) 2.3 重新分配局部引用变量(类似指针直接赋值) 2.4 引用地址调整(类似指针加减法) 2.5 引用地址比较(类似指针比较) 2.6 重新解释(类似C++的

    2024年02月15日
    浏览(41)
  • C++11补充:智能指针如std::unique_ptr如何添加自定义的deleter

    关于智能指针的问题,有时候为了方便,需要在析构时附加一些清理操作,或者,有的指针本身来自C的库文件中,这时候,就非常期望能够使用自定义的deleter, 但是标准C++创建函数如std::make_unique / std::make_shared 等不支持创建带有自定义deleter的智能指针,这时,我们只能使用

    2024年02月07日
    浏览(45)
  • instr字符查找函数(oracle用instr来代替like)

    instr函数:字符查找函数。其功能是 查找 一个字符串在另一个字符串中 首次出现 的 位置 。 instr函数在Oracle/PLSQL中是 返回 要截取的字符串在源字符串中的 位置 。 语法 instr( string1, string2, start_position,nth_appearance ) 参数 string1:源字符串,要在此字符串中查找。 string2:要在

    2024年02月15日
    浏览(33)
  • std::bind()函数详解

    std::bind()是C++11中的一个函数模板,用于将函数和其参数绑定到一个可调用对象上。它可以用于创建一个函数对象,这个函数对象可以调用原来的函数并传递预先绑定的参数。 以下是一个示例用法: 在上面的示例中,std::bind将函数add和数字5绑定在一起,而std::placeholders::_1则表

    2024年02月12日
    浏览(33)
  • 【C++】STL 算法 ⑪ ( 函数适配器嵌套用法 | modulus 函数对象 - 取模运算 | std::count_if 函数原型 | std::not1 函数原型 )

    在 functional 头文件 中 , 预定义了 modulus 函数对象 , 这是一个 二元函数对象 , 在该函数对象类中 , 重写了 函数调用操作符 函数 operator() , 该 预定义函数对象 代码如下 : 该函数对象 定义了 模板参数 template class _Ty = void , _Ty 泛型的默认参数是 void , 即 如果 不指定 模板参数 ,

    2024年01月17日
    浏览(44)
  • 【C++】STL 算法 ⑤ ( 二元函数对象 | std::transform 算法简介 | 为 std::transform 算法传入一元函数对象进行转换操作 )

    \\\" 二元函数对象 \\\" 指的是 一个实例类 中 , 重载了 \\\" 函数调用操作符 () \\\" 函数 operator() , 并且该函数 接受 2 个参数 ; 如果 \\\" 重载 函数调用操作符 () 函数 \\\" 只接收一个参数 , 那么这个函数对象就是 一元函数对象 ; 下面的结构体类 函数对象 , 就是一个二元函数对象 , 其作用是将

    2024年01月18日
    浏览(60)
  • C++ std::tie函数详解

    C++中std::tie函数的作用就是从元素引用中生成一个tuple元组,其在头文件tuple中定义,其函数原型如下: 其中参数 args 为构造 tuple 所用的零或更多左值参数。其返回值为含左值引用的std::tuple对象。 1. 解包 tuple 和 pair std::tie 可以用于解包 tuple 和 pair,因为 std::tuple 拥有从 pai

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包