Ich habe einige Funktionen definiert und drucke ich ihre Adresse wie folgt aus:C++ Zeiger nicht
#include<iostream>
#include <string>
using std::cout;
std::string func()
{
return "hello world\n";
}
int func2(int n)
{
if (n==0)
{
cout << func2 << std::endl;
return 1;
}
cout << func2 << std::endl;
return n + func2(n - 1);
}
//================================================
int main()
{
int (*fun)(int) = func2;
cout << fun;
cout << std::endl << func2(3);
}
Wenn ich die Funktion des Namens drucken (Adresse) sie alle Druck 1
auf meinem Compiler (Mingw gcc 4.8) .
Ist es OK oder sollte es anders sein?
Angenommen, die Größe eines Funktionszeigers ist nicht größer als die Größe von 'unsigned long long int'. Sie sollten der Besetzung auch "const" hinzufügen, um Unfälle zu vermeiden. –
Ja, nun ... in C++ 11 lang lang ist mindestens 64 Bit. – juzzlin
Also? Was ist, wenn Zeiger in Zukunft 128 Bits haben? Einmal waren sie nur 16-Bit. –