Contents
Eine virtuelle Funktion ist eine Memberfunktion innerhalb der Basisklasse, die wir in einer abgeleiteten Klasse neu definieren. Es wird mit dem Schlüsselwort virtual deklariert. Wenn eine Klasse, die eine virtuelle Funktion enthält, geerbt wird, definiert die abgeleitete Klasse die virtuelle Funktion neu, um ihren eigenen Anforderungen gerecht zu werden. Virtuelle Funktionen stellen sicher, dass die richtige Funktion für ein Objekt aufgerufen wird, unabhängig von der Art der Referenz (oder des Zeigers), die für den Funktionsaufruf verwendet wird. Funktionen werden mit einem virtuellen Schlüsselwort in der Basisklasse deklariert. Sie werden hauptsächlich verwendet, um Laufzeitpolymorphismus zu erreichen.
Inline-Funktion ist eine normale Funktion, die durch das Schlüsselwort inline definiert wird, eine kurze Funktion, die vom Compiler erweitert wird und deren Argumente nur einmal ausgewertet werden. Wenn eine Inline-Funktion aufgerufen wird, ersetzt der Compiler alle aufrufenden Anweisungen zur Laufzeit durch die Funktionsdefinition. Jedes Mal, wenn eine Inline-Funktion aufgerufen wird, generiert der Compiler eine Kopie des Codes der Funktion, um den Funktionsaufruf zu vermeiden. Inline-Funktionen sparen den Aufwand für das Pushen und Popping von Variablen auf dem Stack während Funktionsaufrufen.
VERGLEICHSGRUNDLAGE | VIRTUELLE FUNKTION | INLINE-FUNKTION |
Beschreibung | Die virtuelle Funktion muss im öffentlichen Abschnitt der Klasse deklariert werden. | Inline-Funktion ist eine normale Funktion, die durch das Schlüsselwort inline definiert wird. |
Natur | Die virtuelle Funktion kann nicht statisch sein, oder die Freundesfunktion kann auch nicht die virtuelle Funktion einer anderen Klasse sein. | Die Inline-Funktion kann auch nicht statisch sein. |
Definition | Die virtuelle Funktion wird in der Basisklasse definiert und in der abgeleiteten Klasse überschrieben. Es ist nicht zwingend erforderlich, dass die abgeleitete Klasse überschreibt, in diesem Fall wird die Basisklassenversion der Funktion verwendet. | Inline-Funktionen sind die kurzen Funktionen, die automatisch zu Inline-Funktionen gemacht werden, ohne das inline-Schlüsselwort innerhalb der Klasse zu verwenden. |
Wirkung | Virtuelle Funktionen verringern die Effizienz des Codes. | Inline-Funktionen werden verwendet, um die Effizienz von Code zu erhöhen. |
Verwenden | Die virtuelle Funktion wird hauptsächlich verwendet, um Laufzeitpolymorphismus zu erreichen. | Die Inline-Funktion wird verwendet, um einen Polymorphismus zur Kompilierzeit zu erreichen. |
Zerstörer & Konstruktor | Die virtuelle Funktion kann aus einem virtuellen Destruktor bestehen, aber keinen virtuellen Konstruktor haben. | Die Inline-Funktion kann auch aus einem Inline-Konstruktor bestehen. |
Funktion | Virtual kann für dynamische Verknüpfungen verwendet werden. | Inline-Funktion wird verwendet, um den Funktionsaufruf-Overhead zu reduzieren |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…