Unterschied zwischen Inline und Makro Der Unterschied zwischen

Anonim

Inline vs Macro

C ++ ist heutzutage im Bereich der Computerprogrammierung viel zu weit gegangen. Da es sich um eine mächtige Sprache handelt, wird es den Programmierern aufgrund seiner großen Bibliothek an Funktionen manchmal etwas verwirrend. Die Inline-Funktion ist eine dieser Funktionen, 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 ihrer Eigenschaften etwas verwirrend sein. In diesem Artikel werden wir mehr über die Unterschiede zwischen Inline-Funktion und Makros in C ++ diskutieren.

Inline

Eine Inline-Funktion ist wie jede andere Funktion in C ++ und wird auch regulär aufgerufen. Die Funktion, die es ausführt, besteht darin, dass es eine Kopie der kompilierten Funktionsdefinition erstellt. Das heißt, es erstellt eine Kopie der definierten zu kompilierenden Elemente. Ein Beispiel kann genommen werden, wenn wir zwei Ganzzahlen hinzufügen und es die Inline-Funktion nennen, der Compiler erstellt eine Kopie der zu kompilierenden Ganzzahlen.

Beispiel:

Inline int Summe (int x, int y)

{

Rückgabe (x + y);

}

Makro

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

Makros könnten hier einen Fehler verursachen. So kommt eine Inline-Funktion zum Tragen, indem die Werte in den Speicher des Compilers kopiert und dann kompiliert werden.

Zusammenfassung:

1. Eine Inline-Funktion erstellt eine Kopie der Funktionsdefinition.

2. Ein Makro ersetzt den Text, der in der Funktion identifiziert und definiert wurde.

3. Eine Inline-Funktion wird auch angewendet, wenn ein Makro einen Fehler im Programm verursachen soll.