日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

boost库 bind/function的使用

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 boost库 bind/function的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Boost::Function 是對函數指針的對象化封裝,在概念上與廣義上的回調函數類似。相對于函數指針,function除了使用自由函數,還可以使用函數對象,甚至是類的成員函數,這個就很強大了哈


#include <boost/function.hpp> #include <boost/bind.hpp> #include <iostream>using namespace std;class TestA {public:void method(){cout<<"TestA: method: no arguments"<<endl;}void method(int a, int b){cout<<"TestA: method: with arguments"<<"value of a is:"<<a <<"value of b is "<<b <<endl;} };void sum(int a, int b) {int sum = a + b;cout<<"sum: "<<sum<<endl; } int main() {boost::function<void()> f;TestA test;f = boost::bind(&TestA::method, &test);f();f = boost::bind(&TestA::method, &test, 1, 2);f();f = boost::bind(&sum, 1, 2);f(); }

2. 應用:Thread封裝

在實現自定義的線程類時,曾經這么干過:定義虛函數run(),用戶自定義的CustomThread::Thread后,自己實現run()函數就OK了。 當時覺得這么做也不錯。
現在有了boost::function/boost::bind我們可以這么干:
定義一個線程類:
.h文件

#include <pthread.h> #include <string> #include <boost/function.hpp> #include <boost/bind.hpp>using namespace std; class Thread {typedef boost::function<void()> ThreadFun;public:Thread(const ThreadFun& threadFun,const string& threadName = string());pid_t getThreadId();string getThreadName();int start();private:static void* startThread(void* thread);private:pthread_t m_thread; //線程句柄pid_t m_tid; //線程IDstring m_strThreadName; //線程名稱bool m_bStarted; //線程是否啟動ThreadFun m_func; //線程處理函數 };
.cpp

#include "thread.h"Thread::Thread(const Thread::ThreadFun& threadFun, const string& threadName): m_func(threadFun), m_strThreadName(threadName) { }int Thread::start() {m_tid = pthread_create(&m_thread, NULL, &startThread, this);return 0; }void* Thread::startThread(void* obj) {Thread* thread = static_cast<Thread*>(obj);thread->m_func();return NULL; }pid_t Thread::getThreadId() {return m_tid; };string Thread::getThreadName() {return m_strThreadName; }
void ThreadProcess() {int count = 100;for (int i = 0; i < count; i++){if (i % 10 == 0) cout<<"\n";cout<<i<<"\t";} }int main() {boost::function<void()> f;f = boost::bind(&ThreadProcess); Thread thread(f, "ThreadTest");thread.start();sleep(1000*1000);return 0; }

?


轉載于:https://www.cnblogs.com/mtcnn/p/9410077.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的boost库 bind/function的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 快色视频| 搞逼综合网 | 国产豆花视频 | 日本老少交 | 三级a毛片 | 在线观看中文字幕视频 | 亚洲精品www久久久久久广东 | 欧美黄色录像视频 | 天天色天天操天天 | 日本一级淫片色费放 | 成年人深夜福利 | 色婷婷午夜 | 国产一级免费在线观看 | 亚洲精品乱码久久久久久麻豆不卡 | 国产呻吟av | 久久久午夜视频 | 日本一区二区三区四区五区 | 久久er99热精品一区二区 | 午夜精品一区二区三区在线视频 | 四虎精品在永久在线观看 | 精品人妻码一区二区三区红楼视频 | 亚洲在线免费观看 | 亚洲瑟瑟 | 国产成人久久久 | 亚洲一级Av无码毛片久久精品 | 久久中文字幕人妻 | 精品资源成人 | 久久午夜鲁丝片午夜精品 | 久久99草| 国产高潮国产高潮久久久91 | 成人v精品蜜桃久一区 | 青青草97国产精品免费观看 | 成年人网站在线观看视频 | 久久婷香| 香蕉网在线观看 | jiz亚洲| 中文在线观看免费视频 | 欧美寡妇性猛交ⅹxxx | 毛片一区二区三区 | 狠狠伊人| 老牛影视一区二区三区 | 国产99久久久欧美黑人 | 免费成人在线视频观看 | free性m.freesex欧美| 色图综合 | 岛国大片在线观看 | 91在线视频在线观看 | 少妇一区二区三区 | 少妇特黄a一区二区三区88av | 在线视频日韩 | 夜夜爱夜夜操 | 熟女性饥渴一区二区三区 | av片免费| 九九午夜视频 | 国产人妻精品一区二区三区 | 日本成人一区二区三区 | 午夜久久久久久噜噜噜噜 | 日本黄色网络 | 日本国产一区二区三区 | 国产视频在线一区二区 | 日大逼| 亚洲成人婷婷 | 欧美视频黄| 久久er99热精品一区二区介绍 | 久久99精品久久久久子伦 | 日本一区视频在线播放 | 日b免费视频 | 青青草狠狠干 | 老王66福利网| 少妇人妻互换不带套 | 精品一区二区三区视频日产 | 欧美日韩久 | 奴性白洁会所调教 | 黄页网站免费在线观看 | 欧美福利视频一区二区 | 韩国中文三级hd字幕 | 欧美一级片在线看 | 情欲超 | 人妻在线一区二区 | 美女破处视频 | 久久女女 | 久久免费精品国产 | 欧美精品电影一区二区 | 欧美成人国产va精品日本一级 | 在线成人免费 | 国内精品视频一区 | 亚洲欧美另类国产 | 国产成人无码精品 | 嫩草影院在线视频 | 欧美与黑人午夜性猛交久久久 | 天天操 夜夜操 | 天堂中文网| 国产免费黄色录像 | 欧美日韩精品区别 | 日本午夜视频在线观看 | 日韩在线精品视频一区二区涩爱 | 凹凸日日摸日日碰夜夜 | 国产午夜一级片 | 成人看片网站 |