Perbedaan Antara Fungsi Makro Dan Inline

Daftar Isi:

Perbedaan Antara Fungsi Makro Dan Inline
Perbedaan Antara Fungsi Makro Dan Inline

Video: Perbedaan Antara Fungsi Makro Dan Inline

Video: Perbedaan Antara Fungsi Makro Dan Inline
Video: Apakah Mouse Macro? Mouse Macro Adalah.. 2024, Mungkin
Anonim

Perbedaan Kunci - Fungsi Makro vs Inline

Makro adalah fragmen kode, yang merupakan arahan preprocessor. Fungsi inline adalah fitur penyempurnaan C ++ untuk meminimalkan waktu eksekusi program. Oleh karena itu, perbedaan utama antara Makro dan Fungsi Inline adalah bahwa makro diperiksa oleh preprocessor sedangkan fungsi inline diperiksa oleh compiler.

Makro disertakan di awal program yang didahului dengan tanda pagar. Ketika ada nama makro dalam program, itu diganti dengan konten makro.

ISI

1. Gambaran Umum dan Perbedaan Utama

2. Apa itu Makro

3. Apa itu Fungsi Inline

4. Perbandingan Berdampingan - Fungsi Makro vs Inline dalam Bentuk Tabular

5. Ringkasan

Apa itu Makro?

Preprocessor adalah program yang memproses kode sumber sebelum melewati compiler. Ini beroperasi menggunakan baris perintah atau arahan preprocessor. Dalam program ini, arahan preprocessor ditempatkan di program sumber sebelum program utama. Sebelum kode sumber melewati kompilator, itu diperiksa oleh preprocessor untuk arahan preprocessor. Arahan preprocessor memiliki simbol #. Tidak seperti pernyataan lainnya, pernyataan tersebut tidak diakhiri dengan titik koma. Salah satu jenis direktif preprocessor adalah makro. Umumnya makro ditulis dengan huruf kapital.

Perbedaan Antara Fungsi Makro dan Inline
Perbedaan Antara Fungsi Makro dan Inline

Gambar 01: Program C ++ dengan Macro

Menurut program di atas, baris 3 dan baris 4 menunjukkan makro. Saat menghitung luas, nilai PI diganti menggunakan makro yang ditentukan. Sejalan 14, volume = CUBE (nilai), preprocessor memperluas pernyataan sebagai volume = (nilai * nilai * nilai). Menemukan kubus dapat ditulis sebagai fungsi, tetapi disini ditulis menggunakan makro. Jika ada pernyataan volume = CUBE (x + y), maka akan berkembang menjadi volume = (x + y * x + y * x + y).

Beberapa token pemrograman dapat dengan mudah salah ketik. Mereka dapat diganti menggunakan makro. misalnya #define AND &&, #define OR ||. Definisi makro juga dapat menyertakan ekspresi seperti #define AREA 4 * 5.56.

Apa itu Fungsi Inline?

Ketika suatu fungsi dipanggil, kompilator membutuhkan waktu untuk mengeksekusinya. Jika fungsinya tidak terlalu kompleks, programmer dapat mengubah fungsi tersebut menjadi fungsi inline. Lihat program di bawah ini.

Perbedaan Antara Fungsi Makro dan Inline Gambar 2
Perbedaan Antara Fungsi Makro dan Inline Gambar 2

Gambar 02: Fungsi tanpa Inline

Print_hello adalah fungsi sederhana. Ini mencetak string "Hello" saat fungsinya dipanggil. Waktu eksekusi untuk fungsi itu adalah 0,187 detik. Saat menggunakan kata kunci sebaris sebagai berikut, waktu eksekusi berkurang menjadi 0,064.

Perbedaan Utama Antara Fungsi Makro dan Inline
Perbedaan Utama Antara Fungsi Makro dan Inline

Gambar 03: Fungsi Inline

Oleh karena itu, dengan menggunakan kata kunci inline, waktu eksekusi berkurang. Fungsi sebaris mungkin tidak berfungsi jika ada loop, pernyataan sakelar, dan jika fungsi tersebut berisi variabel statis atau fungsi rekursif.

Apa Perbedaan Antara Fungsi Makro dan Inline?

Artikel Diff Tengah sebelum Tabel

Fungsi Makro vs Inline

Makro adalah fragmen kode, yang merupakan arahan preprocessor yang disertakan di awal program yang didahului dengan tanda pagar. Fungsi inline adalah fitur penyempurnaan C ++ untuk meminimalkan waktu eksekusi program.
Evaluasi Waktu
Dalam makro, argumen dievaluasi setiap kali digunakan dalam program. Sejalan, argumen dievaluasi sekali.
Diperiksa oleh
Makro diperiksa oleh preprocessor. Fungsi sebaris diperiksa oleh kompilator.
Kata kunci
Marco menggunakan #define. Fungsi sebaris menggunakan kata kunci 'sebaris'.
Pemakaian
Makro dapat digunakan untuk mendefinisikan konstanta, ekspresi, substitusi teks literal dan untuk mendefinisikan fungsi, dll. Fungsi inline dapat digunakan untuk meminimalkan waktu eksekusi program.
Penghentian
Makro diakhiri dengan baris baru. Fungsi sebaris diakhiri dengan tanda kurung kurawal di akhir fungsi sebaris.
Menentukan Titik
A Marco didefinisikan di awal program. Fungsi sebaris bisa berada di dalam atau di luar kelas.

Ringkasan - Fungsi Makro vs Inline

Artikel ini membahas perbedaan antara Makro dan Fungsi Inline. Konsep-konsep ini digunakan dalam pemrograman C ++. Perbedaan antara Fungsi Makro dan Inline adalah bahwa makro diperiksa oleh preprocessor sedangkan fungsi sebaris diperiksa oleh kompilator.

Direkomendasikan: