歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++ 函數名作為參數傳遞給另一個函數

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

日期:2017/3/1 10:38:04   编辑:Linux編程

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

例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