最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++傳遞函數(shù)指針和bind的示例

 更新時間:2014年05月06日 09:21:32   作者:  
這篇文章主要介紹了c++傳遞函數(shù)指針和bind的示例,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

#include <algorithm>
class TestClass
{
public:
 int Sub(int x, int y) {
  return y - x;
 }
 void InitAndTest() {
  PrintWithClassMemberFunction(&TestClass::Sub);
  PrintWithClassPointer(this);
 }

 // call: PrintWithClassMemberFunction(&TestClass::Sub);
 void PrintWithClassMemberFunction(int (TestClass::*f)(int, int)) {
  // add 'this' pointer
  auto rel = (this->*f)(12, 13);
  AtlTrace("[%d]\n", rel);

  // bind with member function pointer into map
  auto funBind = std::bind(f, this, std::placeholders::_1, std::placeholders::_2);
  m_mapFun["PrintWithClassMemberFunction"] = funBind;
 }

 void PrintWithClassPointer(TestClass *pointInstance) {
  auto rel = pointInstance->Sub(20, 30);
  AtlTrace("[%d]\n", rel);

  auto funBind = std::bind(&TestClass::Sub, pointInstance, std::placeholders::_1, std::placeholders::_2);
  m_mapFun["PrintWithClassPointer"] = funBind;
 }

 void CallBindFun(int a, int b) {
  std::for_each(
   m_mapFun.begin(), m_mapFun.end(), [&a, &b](decltype(*m_mapFun.begin()) it) {
    AtlTrace("[%s] %d\n", it.first.c_str(), it.second(a, b));
  });
 }

 std::map<std::string, std::function<int (int, int)>> m_mapFun;
};


int _tmain(int argc, _TCHAR* argv[])
{
 TestClass tc;
 tc.InitAndTest();
 tc.CallBindFun(64, 128);
}

相關(guān)文章

  • C++隱式轉(zhuǎn)換問題分析及解決辦法

    C++隱式轉(zhuǎn)換問題分析及解決辦法

    在本篇文章里小編給大家整理了關(guān)于C++隱式轉(zhuǎn)換問題分析及解決辦法,有需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • C語言判斷語句和if語句形式及多層if使用示例

    C語言判斷語句和if語句形式及多層if使用示例

    這篇文章主要為大家介紹了C語言判斷語句和if語句形式及多層if使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • C語言結(jié)合ffmpeg打印音視頻信息

    C語言結(jié)合ffmpeg打印音視頻信息

    這篇文章主要介紹了如何通過C語言或者C++編程語言結(jié)合ffmpeg拿到一些音視頻的關(guān)鍵信息,例如:幀率等。感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • C語言實現(xiàn)abs和fabs絕對值

    C語言實現(xiàn)abs和fabs絕對值

    這篇文章主要介紹了C語言實現(xiàn)abs和fabs絕對值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C語言實現(xiàn)三子棋源代碼

    C語言實現(xiàn)三子棋源代碼

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)三子棋源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 詳解進(jìn)程同步與互斥機(jī)制

    詳解進(jìn)程同步與互斥機(jī)制

    進(jìn)程同步是一個操作系統(tǒng)級別的概念,是在多道程序的環(huán)境下,存在著不同的制約關(guān)系,為了協(xié)調(diào)這種互相制約的關(guān)系,實現(xiàn)資源共享和進(jìn)程協(xié)作,從而避免進(jìn)程之間的沖突,引入了進(jìn)程同步
    2021-06-06
  • 麻將游戲算法深入解析及實現(xiàn)代碼

    麻將游戲算法深入解析及實現(xiàn)代碼

    這篇文章主要介紹了麻將游戲算法深入解析及實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Ubuntu18.04下QT開發(fā)Android無法連接設(shè)備問題解決實現(xiàn)

    Ubuntu18.04下QT開發(fā)Android無法連接設(shè)備問題解決實現(xiàn)

    本文主要介紹了Ubuntu18.04下QT開發(fā)Android無法連接設(shè)備問題解決實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 一篇文章帶你了解C/C++的回調(diào)函數(shù)

    一篇文章帶你了解C/C++的回調(diào)函數(shù)

    這篇文章主要為大家介紹了C/C++的回調(diào)函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C++中線程池ThreadPool源碼解析

    C++中線程池ThreadPool源碼解析

    線程池(threadpool)作為五大池之一(內(nèi)存池、連接池、線程池、進(jìn)程池、協(xié)程池),線程池的應(yīng)用非常廣泛,不管事客戶端程序還是后臺服務(wù)端,都是提高業(yè)務(wù)處理能力的必備模塊
    2022-09-09

最新評論

肇源县| 岑巩县| 莱芜市| 河津市| 阿拉善左旗| 八宿县| 陕西省| 彰化县| 玉林市| 石台县| 峨山| 白河县| 子长县| 尖扎县| 读书| 永善县| 渝中区| 广东省| 石楼县| 洱源县| 淅川县| 辽阳县| 盐边县| 虎林市| 桂平市| 泰兴市| 盐源县| 牙克石市| 加查县| 桂阳县| 双江| 当阳市| 宕昌县| 合肥市| 子长县| 河西区| 邹城市| 名山县| 循化| 乐业县| 永宁县|