Różnica między inline i makro

Różnica między inline i makro

Inline vs makro

C ++ posunął się obecnie zbyt daleko w dziedzinie programowania komputerowego. Będąc potężnym językiem, czasami staje się trochę mylący dla programistów ze względu na ogromną bibliotekę funkcji. Funkcja inline jest jedną z nich, którą można łatwo pomylić z makrami w języku.
Nie chodzi o to, że istnieje niewielka różnica między nimi, ale mogą być trochę mylące ze względu na posiadane właściwości. W tym artykule będziemy omawiać więcej o różnicach między funkcją wbudowaną a makrami w C++.

Wline
Funkcja wbudowana jest taka jak każda inna funkcja w C ++ i jest również wywoływana w sposób regularny. Funkcja, którą wykonuje, polega na tym, że tworzy kopię skompilowanej definicji funkcji. Oznacza to, że tworzy kopię zdefiniowanych elementów do skompilowania. Przykład można podjąć, jeśli dodamy dowolną dwie liczby całkowite i nazwiemy go funkcją wbudowaną, kompilator utworzy kopię liczb całkowitych do skompilowania.
Przykład:

Inline int sum (int x, int y)

Return (x+y);

Makro
Makra w C ++ implementują wymianę tekstu w wierszu programu. To znaczy zastępują tekst zgodnie ze zmianą zdefiniowaną w funkcji. W przeciwieństwie do funkcji, makro manipuluje kodem za pomocą funkcji. Na przykład:
#określić podwójne (x) x*x

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

Tutaj otrzymamy wartość jako 30! Ponieważ połączenie zostało wykonane za pomocą makro, „x” zostało zastąpione ++ y, co sprawia, że ​​++ Y jest pomnożona przez kolejne ++ y. To daje w sumie 5*6, czyli 30, a nie 6. Sześć byłoby podstawową, ale niewłaściwą odpowiedzią.

Teraz makra mogą powodować błąd. Tak więc funkcja wbudowana jest na ratunek, kopiując wartości do pamięci kompilatorów, a następnie opracowanie.

Streszczenie:

1.Funkcja wbudowana tworzy kopię definicji funkcji.
2.Makro zastępuje tekst zidentyfikowany i zdefiniowany w funkcji.
3.Funkcja wbudowana jest również stosowana, gdy makro ma powodować błąd w programie.