歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C++ 函數名作為參數傳遞給另一個函數

將函數名作為參數傳遞給另外一個函數(其實函數名是一個函數指針)

例1:
int f1()
{
    return 1;
}
int f2()
{
    return 2;
}
void f(int f())
{
    printf("%d/n",f());
}
int main()
{
    f(f1);
    f(f2);
    return 0;
}

輸出
1
2

例2:
void listArray(void handler(int &item))
{
    int ia[] = {1, 2, 3, 4, 5, 6};
    for(int i = 0; i < 6; ++i)
    {
        if(handler)
            handler(ia[i]);
        std::cout << i << ":" << ia[i] << " ";
    }
    std::cout << std::endl;
}

void doubleValueHandler(int &i)
{
    if(i % 2 == 0)
        i *= i;
    return ;
}

void testMethodHandler()
{
    listArray(NULL);
    listArray(doubleValueHandler);
}

輸出:
0:1 1:2 2:3 3:4 4:5 5:6
0:1 1:4 2:3 3:16 4:5 5:36

Copyright © Linux教程網 All Rights Reserved