Was unterscheidet statische Elementfunktion und globale Funktion?Was unterscheidet statische Elementfunktion und globale Funktion?
void globalFunc()
{
}
class Test
{
public:
//In grammar side, object's not own this function
static void staticFunc();
};
Die statische Member-Funktion ist global Funktion aber, es mit Bedeutung und begrenzen Zugriffsbereich klassifizieren kann.
Aber ich kann nicht verstehen, warum die Aufrufkonvention der statischen Mitgliedsfunktion ein [dieser Anruf] ist.
Ich verstehe, dass normale Member-Funktion muss [dieser Aufruf], weil es muss die Adresse des Aufrufer-Objekts, aber, warum die statische Member-Funktion hat eine dieser Aufruf Konvention? Ich denke, dass es die Adresse des Anrufers nicht braucht, weil es die Funktion des Objekts nicht ist. Gibt es einen Unterschied zwischen statischer Elementfunktion und globaler Funktion? (Nicht in Grammatik Seite aber auch Low-Side)
Tut mir leid, '[dieser Anruf]'? – Charles
Eine statische Elementfunktion kann aufgerufen werden, als wäre sie eine nicht statische Elementfunktion (die "this" in der Funktion nicht verfügbar macht). Eine statische Elementfunktion kann nicht "extern" C "' sein. Formal bedeutet das, dass Sie es nicht portabel als C-Callback verwenden können, aber wenige Compiler haben diese unpraktischen Vorgaben. –
Aufrufkonventionen sind Implementierungen definiert. Auf welche Implementierung beziehen Sie sich? –