Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessor -Richtlinie handelt. Eine Inline -Funktion ist eine C ++ - Verbesserungsfunktion, um die Ausführungszeit eines Programms zu minimieren. deshalb, die Schlüsselunterschied Zwischen Makro- und Inline -Funktion ist das Ein Makro wird vom Präprozessor überprüft, während eine Inline -Funktion vom Compiler überprüft wird.
Ein Makro ist zu Beginn des Programms enthalten, dem ein Hash -Zeichen vorangegangen ist. Wenn es im Programm den Macro -Namen gibt, wird er durch den Inhalt des Makros ersetzt.
1. Überblick und wichtiger Unterschied
2. Was ist Makro
3. Was ist Inline -Funktion
4. Seite für Seitenvergleich - Makro -VS -Inline -Funktion in tabellarischer Form
5. Zusammenfassung
Der Präprozessor ist ein Programm, das den Quellcode verarbeitet, bevor er den Compiler durchgeht. Es arbeitet mit der Befehlszeile der Präzessor oder der Anweisungen. Im Programm werden die Präprozessor -Richtlinien im Quellprogramm vor dem Hauptprogramm platziert. Bevor der Quellcode den Compiler durchläuft, wird er vom Präprozessor auf Preprozessoranweisungen überprüft. Die Präprozessor -Richtlinien haben das # Symbol. Im Gegensatz zu anderen Aussagen enden sie nicht mit einem Semikolon. Eine Art von Präprozessor -Richtlinie ist Makro. Im Allgemeinen sind die Makros in Großbuchstaben geschrieben.
Abbildung 01: C ++ - Programm mit Makros
Nach dem obigen Programm zeigt 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, Volume = Cube (Wert) erweitert der Präprozessor die Anweisung als Volume = (Wert * Wert * Wert). Das Finden des Würfels kann als Funktion geschrieben werden, aber hier wird es mit einem Makro geschrieben. Wenn es eine Anweisung als Volume = Cube (x+y) gibt, wird sie auf Volumen = (x+y * x+y * x+y) erweitert.
Einige Programmier -Token könnten leicht verwickelt werden. Sie können mit Makros ersetzt werden. e.G. #define und &&, #define oder ||. Eine Makrodefinition kann auch Ausdrücke wie #define Area 4*5 enthalten.56.
Wenn eine Funktion aufgerufen wird, braucht 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. Verweisen Sie das folgende Programm.
Abbildung 02: Funktion ohne Inline
Das Print_hello ist eine einfache Funktion. Es druckt die Zeichenfolge "Hallo", wenn die Funktion aufgerufen wird. Die Ausführungszeit für diese Funktion beträgt 0.187S. Wenn das inline -Schlüsselwort wie folgt verwendet wird, reduziert sich die Ausführungszeit auf 0.064s.
Abbildung 03: Inline -Funktion
Daher reduziert sich die Ausführungszeit durch die Verwendung des Inline -Schlüsselworts. Die Inline -Funktionen funktionieren möglicherweise nicht, wenn Schleifen vorliegen, Anweisungen umschalten und wenn die Funktion statische Variablen oder rekursive Funktionen enthält.
Makro gegen Inline -Funktion | |
Ein Makro ist ein Codefragment, bei dem es sich um eine Präprozessor -Richtlinie handelt, die zu Beginn des Programms enthalten ist, dem ein Hash -Zeichen vorangegangen ist. | Eine Inline -Funktion ist eine C ++ - Verbesserungsfunktion, um die Ausführungszeit eines Programms zu minimieren. |
Bewertungszeit | |
Im Makro wird das Argument jedes Mal bewertet, wenn es im Programm verwendet wird. | Im Inline wird das Argument einmal bewertet. |
Geprüft von | |
Ein Makro wird vom Präprozessor überprüft. | Eine Inline -Funktion wird vom Compiler überprüft. |
Stichwort | |
Marco verwendet #Define. | Die Inline -Funktion verwendet das Schlüsselwort "Inline". |
Verwendung | |
Makro kann verwendet werden, um Konstanten, Ausdrücke, zur Substitution des wörtlichen Textes und zur Definition von Funktionen usw. zu definieren usw. | Eine Inline -Funktion kann verwendet werden, um die Ausführungszeit des Programms zu minimieren. |
Beendigung | |
Makro endet mit der neuen Linie. | Die Inline -Funktion endet mit der lockigen Klammer am Ende der Inline -Funktion. |
Punkt definieren | |
Ein Marco wird zu Beginn des Programms definiert. | Eine Inline -Funktion kann innerhalb oder außerhalb der Klasse sein. |
In diesem Artikel wurde der Unterschied zwischen Makro- und Inline -Funktion erörtert. Diese Konzepte werden in der C ++ - Programmierung verwendet. Der Unterschied zwischen Makro- und Inline -Funktion besteht darin, dass ein Makro vom Präzessor überprüft wird, während eine Inline -Funktion vom Compiler überprüft wird.
1.„Präprozessor -Richtlinien.”CPLUSPLUS.com. Hier verfügbar
2.„C -Inline -Funktionen.”Www.Tutorialspitze.com, Tutorials Point, 19. März. 2018. Hier verfügbar