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

域名抢注网站源码wordpress百度站长主动推送

域名抢注网站源码,wordpress百度站长主动推送,北京seo优化服务,dedecms视频网站模板在C语言中,传递函数指针是非常常见的操作。 在C语言中,使用C语言一致的方法传递全局函数指针,或者传递静态函数指针也很常见。 不过如果遇到想传递非静态成员函数时,可以参考以下示例代码。 #ifndef _WORKER_HPP_ #define _WOR…

在C语言中,传递函数指针是非常常见的操作。

在C++语言中,使用C语言一致的方法传递全局函数指针,或者传递静态函数指针也很常见。

不过如果遇到想传递非静态成员函数时,可以参考以下示例代码。

#ifndef _WORKER_HPP_
#define _WORKER_HPP_#include <iostream>
#include <unistd.h>
#include <functional>
#include <chrono>
#include <iomanip>
#include <sstream>class Worker {
public:// 设置回调函数void registerCallback(std::function<void(int, std::string, long)> cb) {this->mCallback = cb;}void startWork() {using namespace std::literals;const std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();const std::time_t t_c = std::chrono::system_clock::to_time_t(now);int i = 1008;std::stringstream ss;ss << std::put_time(std::localtime(&t_c), "%F %T");std::string s = ss.str();long l = __cplusplus;mCallback(i, s, l);}private:std::function<void(int, std::string, long)> mCallback;};#endif

参考Manager内的work函数,列出了几种写法。

#ifndef _MANAGER_HPP_
#define _MANAGER_HPP_#include <functional>
#include <string>
#include <iostream>#include "worker.hpp"class Manager {
public:Manager(): mI(-1), mS("coco"), mL(-1L) {}virtual ~Manager() = default;public:void work() {using namespace std::placeholders;// 设置回调函数, 使用lambdaworker.registerCallback([this](int&& i, std::string&& s, long&& l) -> void {this->onMsgCallback(i, s, l);});// 设置回调函数,使用bind,搭配mem_fnauto ptr = std::mem_fn(&Manager::onMsgCallback);worker.registerCallback(std::bind(ptr, this, _1, _2, _3));// 不搭配mem_fnworker.registerCallback(std::bind(&Manager::onMsgCallback, this, _1, _2, _3));worker.startWork();}void print() {std::cout << __FUNCTION__ << " mI is " << mI << ", mS is " << mS << ", mL is " << mL << std::endl;}private:void onMsgCallback(int i, std::string s, long l) {std::cout << __FUNCTION__ << " i is " << i << ", s is " << s << ", l is " << l << std::endl;this->mI = i;this->mS = s;this->mL = l;}private:int mI;std::string mS;long mL;Worker worker;
};#endif

main示例:

int main()
{// 演示将非静态成员函数设置为回调函数{Manager manager;manager.print();manager.work();manager.print();}return 0;
}

 输出参考:

print mI is -1, mS is coco, mL is -1
onMsgCallback i is 1009, s is 2023-11-18 20:22:34, l is 201402
print mI is 1009, mS is 2023-11-18 20:22:34, mL is 201402

http://www.15wanjia.com/news/176612.html

相关文章:

  • 学网站建设维护网站建设有哪些特点
  • c2c电子商务网站定制开发如何做网站栏目规划
  • 安蓉建设总公司网站wordpress 值得买主题
  • 模板建站知名网站建设推广
  • 某网站优化方案杭州企业网站制作哪个好
  • 医疗网站的运营一鸣东莞网站建设公司
  • 服装网站建设优点有哪些软件外包项目网站
  • 东平县住房和城乡建设局网站嘉兴网站seo公司
  • 郑州网站建站新华网海南频道
  • 做的最好的相亲网站有哪些网站开发前调查
  • 网站开发工作协议书范本合肥专业做淘宝网站建设
  • 上海城市建设网站奉贤品牌网站建设
  • 表白网页生成源码百度热搜关键词排名优化
  • 青海市住房和城乡建设厅网站php企业网站开发实训报告
  • 手机网站开发注意金华城乡建设网站
  • 网站开发接口平面设计素材网站哪个好
  • 网站后台这么做竞价推广哪家公司好
  • 德阳企业品牌网站建设网上免费发广告怎么发
  • 大连网站关键词网页设计作品论文
  • 做网站网页维护手机App开发页面排版布局
  • 建设网站宽度最好是多少Wordpress怎么连接百度网盘
  • 微小店网站建设比较好如何给wordpress添加网站图标
  • 公司网站公众号维护怎么做郑州建站模板厂家
  • 电子商务类网站建设实训报告天猫商城网上购物正品下载
  • 营销网站建设的目的成功的网络营销案例有哪些
  • 网站升级通知自动跳跃wordpress 修改表前缀
  • 仙桃哪里做网站莆田市商城网站建设
  • 做网站应该用什么配置的手提电脑怎样做推广才有效
  • 网站开发西安中软建设通官网app下载
  • 南京做企业号微网站营销湖南网站开发 d岚鸿