В чем разница между f1, (* f1), f2, (* f2)? и какая разница между (функцией) и функцией (&)?В чем разница между функцией с разыменованием и без разыменования
#include <iostream>
using namespace std;
void function (char *s) {
cout << s << endl;
}
int main() {
void (*f1) (char*) = &function;
void (*f2) (char*) = function;
f1 ("f1 function without dereference.");
(*f1) ("f1 function with dereference.");
f2 ("f2 function without dereference.");
(*f2) ("f2 function with dereference.");
return 0;
}
Имя функции автоматически превращается в указатель на функцию, даже без явного '&', который является оператором «адрес», кстати. –
Ничего ... они точно такие же. – eduffy
см. Http://stackoverflow.com/questions/840501/how-do-function-pointers-in-c-work – FCo