Perbedaan Antara Inline dan Makro

Inline vs Makro

C ++ telah berjalan terlalu jauh di bidang pemrograman komputer hari ini. Menjadi bahasa yang kuat, kadang-kadang sedikit membingungkan para programmer karena fungsi perpustakaannya yang sangat luas. Fungsi sebaris adalah salah satunya yang dapat dengan mudah dikacaukan dengan makro dalam bahasa.
Bukannya ada perbedaan kecil antara keduanya, tetapi mereka bisa sedikit membingungkan karena sifat yang mereka miliki. Pada artikel ini, kita akan membahas lebih lanjut tentang perbedaan antara fungsi inline dan makro di C++.

Di barisan
Fungsi inline sama seperti fungsi lainnya di C ++ dan juga disebut dengan cara biasa. Fungsi yang dijalankannya adalah membuat salinan definisi fungsi yang dikompilasi. Yaitu, itu membuat salinan dari item yang didefinisikan untuk dikompilasi. Contoh dapat diambil jika kita menambahkan dua bilangan bulat dan menyebutnya fungsi inline, kompiler akan membuat salinan bilangan bulat yang akan dikompilasi.
Contoh:

Jumlah int sebaris (int x, int y)

Kembali (x + y);

Makro
Macro di C ++ menerapkan penggantian teks dalam baris program. Artinya, mereka mengganti teks sesuai dengan perubahan yang didefinisikan dalam fungsi. Tidak seperti inline sebagai fungsi, makro memanipulasi kode menggunakan fungsi. Sebagai contoh:
#define DOUBLE (X) X * X

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

Di sini, kita akan mendapatkan nilainya 30! Karena pemanggilan dilakukan melalui makro, "X" telah diganti dengan ++ y yang membuat ++ y dikalikan dengan ++ y lainnya. Ini membuat total 5 * 6 yaitu 30 bukan 6. Enam akan menjadi dasar tetapi jawaban yang salah.

Sekarang, makro mungkin menyebabkan bug di sini. Jadi fungsi inline datang ke penyelamatan dengan menyalin nilai ke memori kompiler dan kemudian mengompilasinya.

Ringkasan:

1.Sebuah fungsi sebaris membuat salinan definisi fungsi.
2.A makro menggantikan teks yang diidentifikasi dan didefinisikan dalam fungsi.
3. Fungsi inline juga diterapkan ketika makro seharusnya menyebabkan bug dalam program.