Ein Funktionszeiger ist ein Zeiger auf eine Funktion, die in einer Variablen gespeichert werden kann. Es ermöglicht eine Laufzeitauswahl, welche Funktion ausgeführt werden soll.
Lieber StackOverflowers,
Ich habe ein einfaches Stück Code, das ich in Microsoft Visual Studio C ++ 2012 kompiliere:
%Vor%
Der Compiler generiert den folgenden Code:
%Vor%
Ich habe dies für die 'Full optimisation' (/ Obx Flag) und 'An...
Ich frage mich, was ist der Unterschied zwischen diesen 2 Funktionen ( fun und fun2 ) Ich weiß, dass fun2 ist Funktionszeiger, aber was mit fun ? Ist das dasselbe, weil es auch einen Zeiger gibt, der ein Funktionsname ist?
%Vor%
Ich habe eine Funktion, die eine andere Funktion als Parameter hat. Etwas wie das:
%Vor%
Ich benutze es, indem ich eine Memberfunktion als einen Parameter übergebe, der immer dann aufgerufen werden soll, wenn das übergebene Ziel auf etwas tr...
Als Teil des Hashing muss ich einen Funktionszeiger in eine Zeichenfolgendarstellung konvertieren. Mit globalen / statischen Funktionen ist es trivial:
%Vor%
Und von hier :
2) Jeder Zeiger kann in einen beliebigen integralen Typ konve...
Der folgende minimale Code kompiliert und verlinkt in GNU C ++:
%Vor%
, aber mit Visual Studio 2008 wird der Fehler erzeugt
%Vor%
Offensichtlich ist die ganze Funktionsimplementierung da, aber es scheint, dass der Compiler die Implementie...
Ich habe also eine Funktion, die einen Funktionszeiger als Eingabe erwartet und dessen Prototyp etwa so aussieht:
%Vor%
Ich habe mich gefragt, ob ich einen Operator für diesen Funktionszeiger übergeben kann. Speziell dieser eingebaute Oper...
Wie (in GCC / "GNU C") deklarieren Sie einen Funktionszeiger, der auf eine __attribute__((const)) Funktion zeigt? Die Idee ist, dass ich möchte, dass der Compiler nicht mehrere Aufrufe an die Funktion generiert, die über den Funktionszeiger a...
Ich versuche etwas c # -Coding zu lernen und frage mich, ob das c ++ - Konzept von Funktionszeigern in c # enthalten ist. Ich sehe, es gibt Dinge wie Delegierte. Sind sie das gleiche Konzept? oder unterscheiden sie sich auf einer grundlegenderen...
Ich habe Probleme, den Unterschied zwischen den beiden Funktionswrappern std::function und std::mem_fn . Aus der Beschreibung scheint mir, dass std :: function alles std::mem_fn und mehr tut. In welchem Fall würde man std::mem_fn...
Ich stoße zufällig auf den folgenden Funktionszeiger.
%Vor%
Es sieht aus wie ein Array von Funktionszeigern im folgenden Format, aber ich kann nicht sehen, was f - & gt; (* x ()) bedeutet. Wie interpretiere ich diesen unordentlichen Funktion...