我是靠谱客的博主 贪玩龙猫,这篇文章主要介绍C++11——std::function,现在分享给大家,希望可以做个参考。

  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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(117)

评论列表共有 0 条评论

立即
投稿
返回
顶部