Unterschied zwischen Inline und Makro

Unterschied zwischen Inline und Makro

Inline vs Makro

C ++ ist heutzutage im Bereich der Computerprogrammierung viel zu weit gegangen. Als mächtige Sprache wird sie manchmal ein bisschen verwirrend für die Programmierer, da seine riesige Funktionsbibliothek. Inline -Funktion ist eine von ihnen, die leicht mit Makros in der Sprache verwechselt werden kann.
Es ist nicht so, dass es einen kleinen Unterschied zwischen den beiden gibt, aber sie können aufgrund der Eigenschaften, die sie halten, ein bisschen verwirrend sein. In diesem Artikel werden wir mehr über die Unterschiede zwischen Inline -Funktion und Makros in C erörtert++.

Im Einklang
Eine Inline -Funktion ist wie jede andere Funktion in C ++ und wird auch regelmäßig aufgerufen. Die Funktion, die sie ausführt, ist, dass sie eine Kopie der kompilierten Funktionsdefinition erstellt. Das heißt, es schafft eine Kopie der zum Kompilieren definierten Elemente. Ein Beispiel kann genommen werden, wenn wir zwei ganze Zahlen hinzufügen und sie als Inline -Funktion nennen. Der Compiler erstellt eine Kopie der zu kompilierten Zahlen.
Beispiel:

Inline int sum (int x, int y)

Return (x+y);

Makro
Makros in C ++ implementieren Textersatz in einer Programmlinie. Das heißt, sie ersetzen Text gemäß der in der Funktion definierten Änderung. Im Gegensatz zu Inline als Funktion manipuliert ein Makro den Code mithilfe einer Funktion. Zum Beispiel:
#Define Double (x) x*x

int y = 5;
int j = double (++ y);

Hier erhalten wir den Wert als 30! Da die Berufung über ein Makro durchgeführt wurde, wurde „X“ durch ++ y ersetzt, wodurch ++ y mit einem anderen ++ y multipliziert werden kann. Dies macht insgesamt 5*6, das ist 30 nicht 6. Sechs wäre die grundlegende, aber eine falsche Antwort.

Jetzt könnten Makros hier einen Fehler verursachen. Daher kommt eine Inline -Funktion zur Rettung, indem die Werte in den Speicher der Compiler kopiert und dann zusammengestellt werden.

Zusammenfassung:

1.Eine Inline -Funktion erstellt eine Kopie der Funktionsdefinition.
2.Ein Makro ersetzt den in der Funktion identifizierten und definierten Text.
3.Eine Inline -Funktion wird auch angewendet, wenn ein Makro im Programm einen Fehler verursachen soll.