Unterschied Zwischen Makro- Und Inline-Funktion

Inhaltsverzeichnis:

Unterschied Zwischen Makro- Und Inline-Funktion
Unterschied Zwischen Makro- Und Inline-Funktion

Video: Unterschied Zwischen Makro- Und Inline-Funktion

Video: Unterschied Zwischen Makro- Und Inline-Funktion
Video: Die Produktionsfunktion - Grundelemente der Makroökonomie 4 ● Gehe auf SIMPLECLUB.DE/GO 2024, Kann
Anonim

Hauptunterschied - Makro- und Inline-Funktion

Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessoranweisung handelt. Eine Inline-Funktion ist eine C ++ - Erweiterungsfunktion, um die Ausführungszeit eines Programms zu minimieren. Daher besteht der Hauptunterschied zwischen Makro- und Inline-Funktion darin, dass ein Makro vom Präprozessor überprüft wird, während eine Inline-Funktion vom Compiler überprüft wird.

Am Anfang des Programms befindet sich ein Makro, dem ein Hash-Zeichen vorangestellt ist. Wenn der Makroname im Programm vorhanden ist, wird er durch den Inhalt des Makros ersetzt.

INHALT

1. Übersicht und Hauptunterschied

2. Was ist ein Makro

? 3. Was ist eine Inline-Funktion?

4. Vergleich nebeneinander - Makro- und Inline-Funktion in Tabellenform

5. Zusammenfassung

Was ist Makro?

Der Präprozessor ist ein Programm, das den Quellcode verarbeitet, bevor er den Compiler durchläuft. Es arbeitet mit der Präprozessor-Befehlszeile oder den Anweisungen. Im Programm werden die Präprozessoranweisungen im Quellprogramm vor dem Hauptprogramm platziert. Bevor der Quellcode den Compiler durchläuft, wird er vom Präprozessor auf Präprozessoranweisungen überprüft. Die Präprozessoranweisungen haben das Symbol #. Im Gegensatz zu anderen Anweisungen enden sie nicht mit einem Semikolon. Eine Art von Präprozessor-Direktive ist Makro. Im Allgemeinen werden die Makros in Großbuchstaben geschrieben.

Unterschied zwischen Makro- und Inline-Funktion
Unterschied zwischen Makro- und Inline-Funktion

Abbildung 01: C ++ - Programm mit Makros

Gemäß dem obigen Programm zeigen Zeile 3 und Zeile 4 Makros an. Bei der Berechnung der Fläche wird der PI-Wert durch das definierte Makro ersetzt. In Zeile 14, Volumen = CUBE (Wert), erweitert der Präprozessor die Anweisung als Volumen = (Wert * Wert * Wert). Das Finden des Würfels kann als Funktion geschrieben werden, aber hier wird er mit einem Makro geschrieben. Wenn es eine Anweisung als volume = CUBE (x + y) gibt, wird sie zu volume = (x + y * x + y * x + y) erweitert.

Einige Programmiertoken können leicht falsch eingegeben werden. Sie können durch Makros ersetzt werden. zB #define AND &&, #define OR ||. Eine Makrodefinition kann auch Ausdrücke wie #define AREA 4 * 5.56 enthalten.

Was ist Inline-Funktion?

Wenn eine Funktion aufgerufen wird, benötigt der Compiler einige Zeit, um sie auszuführen. Wenn die Funktion nicht sehr komplex ist, kann der Programmierer die Funktion in eine Inline-Funktion konvertieren. Siehe das folgende Programm.

Unterschied zwischen Makro- und Inline-Funktion Abbildung 2
Unterschied zwischen Makro- und Inline-Funktion Abbildung 2

Abbildung 02: Funktion ohne Inline

Das print_hello ist eine einfache Funktion. Beim Aufruf der Funktion wird die Zeichenfolge „Hallo“ausgegeben. Die Ausführungszeit für diese Funktion beträgt 0,187 s. Wenn Sie das Inline-Schlüsselwort wie folgt verwenden, reduziert sich die Ausführungszeit auf 0,064 Sekunden.

Hauptunterschied zwischen Makro- und Inline-Funktion
Hauptunterschied zwischen Makro- und Inline-Funktion

Abbildung 03: Inline-Funktion

Durch die Verwendung des Inline-Schlüsselworts wird daher die Ausführungszeit verkürzt. Die Inline-Funktionen funktionieren möglicherweise nicht, wenn Schleifen, switch-Anweisungen vorhanden sind und die Funktion statische Variablen oder rekursive Funktionen enthält.

Was ist der Unterschied zwischen Makro- und Inline-Funktion?

Diff Artikel Mitte vor Tabelle

Makro vs Inline-Funktion

Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessoranweisung handelt, die am Anfang des Programms mit einem Hashzeichen vorangestellt ist. Eine Inline-Funktion ist eine C ++ - Erweiterungsfunktion, um die Ausführungszeit eines Programms zu minimieren.
Auswertungszeit
Im Makro wird das Argument jedes Mal ausgewertet, wenn es im Programm verwendet wird. Inline wird das Argument einmal ausgewertet.
Geprüft von
Ein Makro wird vom Präprozessor geprüft. Eine Inline-Funktion wird vom Compiler geprüft.
Stichwort
Marco benutzt #define. Die Inline-Funktion verwendet das Schlüsselwort 'Inline'.
Verwendungszweck
Makro kann verwendet werden, um Konstanten, Ausdrücke, für die Substitution von wörtlichem Text zu definieren und Funktionen usw. zu definieren. Eine Inline-Funktion kann verwendet werden, um die Ausführungszeit des Programms zu minimieren.
Beendigung
Das Makro endet mit der neuen Zeile. Die Inline-Funktion endet mit der geschweiften Klammer am Ende der Inline-Funktion.
Punkt definieren
Ein Marco wird zu Beginn des Programms definiert. Eine Inline-Funktion kann sich innerhalb oder außerhalb der Klasse befinden.

Zusammenfassung - Makro vs Inline-Funktion

In diesem Artikel wurde der Unterschied zwischen Makro- und Inline-Funktion erläutert. Diese Konzepte werden in der C ++ - Programmierung verwendet. Der Unterschied zwischen Makro- und Inline-Funktion besteht darin, dass ein Makro vom Präprozessor überprüft wird, während eine Inline-Funktion vom Compiler überprüft wird.

Empfohlen: