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

汕头网站建设技术外包做进料加工在哪个网站上做

汕头网站建设技术外包,做进料加工在哪个网站上做,芯片设计培训,如何使用网站模板C之functional库用法整理 注:整理一些突然学到的C知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C 的function库用法整理 C之functional库用法整理一、functional库的内建仿函数1. 存储和调用函数2. 存…

C++之functional库用法整理

注:整理一些突然学到的C++知识,随时mark一下
例如:忘记的关键字用法,新关键字,新数据结构


C++ 的function库用法整理

  • C++之functional库用法整理
  • 一、functional库的内建仿函数
    • 1. 存储和调用函数
    • 2. 存储和调用 lambda 表达式
    • 3. 作为函数参数和返回值
    • 4. 可绑定到成员函数和带参数的函数
  • 总结


提示:本文为 C++ 中functional的写法和举例


一、functional库的内建仿函数

  std::function 是 C++11 标准库中的一个通用、多态的函数封装器。它可以保存、复制和调用任何可调用目标 — 函数、lambda 表达式或其他函数对象,且作为函数的类型擦除手段。下面是 std::function 的一些常用用法:

1. 存储和调用函数

你可以使用 std::function 来存储一个函数,并在需要时调用它。

#include <iostream>
#include <functional>void printHello() {std::cout << "Hello, World!" << std::endl;
}int main() {std::function<void()> func = printHello;func();  // 输出 "Hello, World!"return 0;
}

2. 存储和调用 lambda 表达式

std::function 也可以用来存储和调用 lambda 表达式。

#include <iostream>
#include <functional>int main() {std::function<void()> func = []() {std::cout << "Lambda expression called!" << std::endl;};func();  // 输出 "Lambda expression called!"return 0;
}

3. 作为函数参数和返回值

你可以将 std::function 用作函数的参数或返回值,实现更灵活的函数接口。

#include <iostream>
#include <functional>void callFunction(std::function<void()> func) {func();
}std::function<void()> createFunction() {return []() {std::cout << "Function created and called!" << std::endl;};
}int main() {callFunction(createFunction());  // 输出 "Function created and called!"return 0;
}

4. 可绑定到成员函数和带参数的函数

std::function 也可以绑定到类的成员函数或带参数的函数。

#include <iostream>
#include <functional>class MyClass {
public:void printMessage(const std::string& msg) {std::cout << msg << std::endl;}
};int main() {MyClass obj;std::function<void(const std::string&)> func = std::bind(&MyClass::printMessage, &obj, std::placeholders::_1);func("Bound member function called!");  // 输出 "Bound member function called!"return 0;
}

注意事项
std::function 通常比裸函数指针或函数对象占用更多的内存,因为它需要在内部存储关于所保存函数类型的信息。
std::function 可以存储任何可调用对象,这包括函数、函数对象、lambda 表达式等。但是,它不能存储指向非静态成员函数的指针,除非与 std::bind 或 lambda 表达式结合使用。

总结

http://www.yayakq.cn/news/895814/

相关文章:

  • 公司网站封面怎么做.net搭建企业网站
  • 手机移动开发网站广州工商学院官网
  • 德州做网站公司排行永济市住房保障和城乡建设管理局网站
  • 网站开发进度计划书优化推广排名
  • 做医疗类网站有什么需要审核的注册公司该怎么注册
  • 怎么建立一个网站放图片买流量平台
  • wordpress搜索加强淄博网站制作升级优化
  • 沈阳网站建设设计公司仿门户网站
  • 建设网站需要哪些内容郑州网络公司
  • 肇东网站制作凡科免费网站可以做推广吗
  • 网站专题页面设计欣赏博客网站做外贸可以吗
  • 做个购物商城网站多长时间项目流程八个阶段
  • 自己怎么注册网站模板页框 wordpress插件
  • 加强门户网站建设 信息公开宣传册设计与制作免费
  • 凡科建站怎么保存网站在线网页转pdf
  • 网站的哪些标签需要优化安徽网站建设首选-晨飞网络
  • 按城市亭湖建设局网站凡科建站电话
  • 北京网站外包公司推荐哪个网站可以做excel
  • 重新建设网站的请示神秘入口
  • 关于网站建设的方案ppt手机网站左右滑动
  • 纸做的花朵成品网站wordpress分享后可见
  • 网站建设包括哪些方面的费用网站cms在线识别
  • 盘锦网站设计网站做相册
  • 网站开发的外文翻译室内设计联盟邀请码怎么获得
  • 网站老提示有风险正规男科医院收费标准
  • 第三方做公司网站wordpress手动装插件
  • 书店网站开发目的和意义做网站需要会写代码6
  • 学生个人网站模板网站做外链推广的常用方法
  • 报关做业务可以上哪些网站如何做网站的后台管理
  • 为朋友做的网站达人室内设计网官网入口