2020年5月23日 星期六

C/C++ - Function Pointer 應用 CallBack Function

Function Pointer 應用 CallBack Function


    有了 Function Pointer 就意味著,Callback Function 能被實現。    
Callback Function : 
A 跟 B 講 "看到 C 就打電話給我"
打電話給 A = Callback Function
    main.cpp ( A )
    int 
    main () {
        // 從 0 數到 10000000,中間請回報進度 % 數
        zeroTo(1000000, ShowPercentage);
        return 0;
    }
    zeroTo ( B ) 每數一個數字 ( 看到 C )
    void 
    zeroTo (size_t targetNumber, CallBackFuncPtr func) 
    {
        for (size_t i = 0; i < targetNumber; i++){
            func((i * 100) / targetNumber);
        }
    }
    ShowPercentage ( 打電話給 A )
    typedef void (*CallBackFuncPtr)(size_t);
    void ShowPercentage(size_t percentage)
    {
        std::cout << "\rProcessing :\t" << percentage << "%";
    }


相關文章 : 

0 意見:

張貼留言

Popular Posts