我們做了一個家庭作業,現在已經完成了,教授給了我們解決方案。問題只是想出一個我們可以使用函數指針和代碼的情況。函數指針和常規函數的區別
他的例子是這樣的:
#include <iostream>
using namespace std;
int dvalue(int x)
{
return x*x;
}
int tvalue(int x)
{
return x*x*x;
}
void printValue(int (*fptr)(int), int x)
{
cout << fptr(x) << endl;
}
int main()
{
int (*pfnc)(int);
int value = 10;
pfnc = dvalue;
printValue(pfnc, 10);
}
我的問題是,是,同樣的事情這樣做:
int main()
{
cout << devalue(10) << endl;
}
,爲什麼我們使用他們?他們是否使用較少的內存?它是否只是讓我們可以調用一個以上的函數參數或其他功能,使其更簡單? 看來它們更復雜,至少對於一個開始的程序員來說。
所以它沒有必要的東西,只是一件好事,知道未來? – Jeremie
隨着您對類設計的理解,面向對象和抽象的改進,您更可能會看到這樣的概念。 – mungflesh
@ user3289902:有時他們*是必需的,只是不經常。我會認爲它們是C++的一個非常先進的特性,並且不會在早期教它們。另一方面,我希望任何聲稱熟練使用C++的人都能很好地掌握函數指針。 – NPE