Unterschied zwischen Inline und Makro

Inline vs Macro

C ++ ist heutzutage im Bereich der Computerprogrammierung viel zu weit gegangen. Da es sich um eine mächtige Sprache handelt, wird die Programmiersoftware aufgrund ihrer umfangreichen Funktionsbibliothek manchmal etwas verwirrend. Die Inline-Funktion ist eine davon, 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 besitzen, etwas verwirrend sein. In diesem Artikel werden wir mehr über die Unterschiede zwischen Inline-Funktion und Makros in C diskutieren++.

In der Reihe
Eine Inline-Funktion ist wie jede andere Funktion in C ++ und wird auch normal aufgerufen. Die Funktion, die sie ausführt, besteht darin, dass sie eine Kopie der kompilierten Funktionsdefinition erstellt. Das heißt, es erstellt eine Kopie der definierten Elemente zum Kompilieren. Ein Beispiel kann genommen werden, wenn wir zwei Ganzzahlen hinzufügen und dies als Inline-Funktion bezeichnen. Der Compiler erstellt eine Kopie der zu kompilierenden Ganzzahlen.
Beispiel:

Inline int sum (int x, int y)

Rückkehr (x + y);

Makro
Makros in C ++ implementieren Textersetzung in einer Programmzeile. Das heißt, sie ersetzen den Text entsprechend 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 30! Da der Aufruf über ein Makro erfolgt ist, wurde "X" durch ++ y ersetzt, wodurch ++ y mit einem anderen ++ y multipliziert wird. Dies ergibt insgesamt 5 * 6, also 30 nicht 6. Sechs wäre die grundlegende, aber eine falsche Antwort.

Jetzt könnten Makros hier einen Fehler verursachen. Eine Inline-Funktion hilft daher, die Werte in den Arbeitsspeicher der Compiler zu kopieren und dann zu kompilieren.

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 einen Fehler im Programm verursachen soll.