概述
std::function是C++11标准库的一个模板,它把函数指针的思想加以推广。函数指针只能指涉到函数,而std::function却可以指涉到任何可以调用的对象,即任何可以像函数一样可以实施调用之物。
我们想要创建一个函数指针就必须要指定欲指涉到的函数的型别(即该指针指涉到的函数的签名),类比来看,我们想要创建一个std::function对象就必须指定欲指涉的函数的型别。这一步是通过std::function模板形参来完成的。
//声明一个函数对象func,它可以指涉到任何能用以下述签名调用的对象
bool(const std::unique_ptr<Widget>&,
const std::unique_ptr<Widget>&)//C++11版本的std::unique_ptr<Widget>比较函数签名
//这样定义func
std::function<bool(const std::unique_ptr<Widget>&,
const std::unique_ptr<Widget>&)> func;
最后
以上就是贪玩龙猫为你收集整理的C++11——std::function的全部内容,希望文章能够帮你解决C++11——std::function所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复