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: APA ITU MAKRO DAN MIKRO EKONOMI : KULIAH HAK SEGALA BANGSA #3 2024, November
Anonim

Perbedaan Tombol – Fungsi Makro vs Inline

Makro adalah fragmen kode, yang merupakan direktif praprosesor. Fungsi inline adalah fitur peningkatan C++ untuk meminimalkan waktu eksekusi suatu program. Oleh karena itu, perbedaan utama antara Fungsi Makro dan Fungsi Sebaris adalah bahwa makro diperiksa oleh praprosesor sedangkan fungsi sebaris diperiksa oleh kompiler.

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

Apa itu Makro?

Preprocessor adalah program yang memproses kode sumber sebelum melewati compiler. Ini beroperasi menggunakan baris perintah preprocessor atau arahan. Dalam program, direktif preprocessor ditempatkan di program sumber sebelum program utama. Sebelum kode sumber melewati compiler, itu diperiksa oleh preprocessor untuk arahan preprocessor. Direktif preprocessor memiliki simbol. Tidak seperti pernyataan lain, mereka 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 area, nilai PI diganti menggunakan makro yang ditentukan. Pada baris 14, volume=CUBE(nilai), praprosesor memperluas pernyataan sebagai volume=(nilainilainilai). Menemukan kubus dapat ditulis sebagai fungsi, tetapi di sini ditulis menggunakan makro. Jika ada pernyataan volume=KUBE(x+y), maka akan mengembang menjadi volume=(x+yx+yx+y).

Beberapa token pemrograman mungkin salah ketik dengan mudah. Mereka dapat diganti menggunakan makro. misalnya define DAN &&, define ATAU ||. Definisi makro juga dapat menyertakan ekspresi seperti define AREA 45.56.

Apa Fungsi Inline itu?

Ketika suatu fungsi dipanggil, kompiler membutuhkan waktu untuk mengeksekusinya. Jika fungsinya tidak terlalu kompleks, pemrogram dapat mengubah fungsi tersebut menjadi fungsi sebaris. 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

The print_hello adalah fungsi sederhana. Ini mencetak string "Halo" ketika fungsi dipanggil. Waktu eksekusi untuk fungsi tersebut adalah 0,187 detik. Saat menggunakan kata kunci sebaris sebagai berikut, waktu eksekusi berkurang menjadi 0,064 detik.

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

Gambar 03: Fungsi Sebaris

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

Apa Perbedaan Fungsi Makro dan Fungsi Inline?

Fungsi Makro vs Inline

Makro adalah fragmen kode, yang merupakan direktif praprosesor yang disertakan di awal program yang didahului dengan tanda hash. Fungsi inline adalah fitur peningkatan C++ untuk meminimalkan waktu eksekusi suatu program.
Waktu Evaluasi
Dalam makro, argumen dievaluasi setiap kali digunakan dalam program. Sebaris, argumen dievaluasi sekali.
Diperiksa oleh
Makro diperiksa oleh praprosesor. Fungsi sebaris diperiksa oleh kompiler.
Kata Kunci
Marco menggunakan define. Fungsi inline menggunakan kata kunci 'inline'.
Penggunaan
Makro dapat digunakan untuk mendefinisikan konstanta, ekspresi, untuk substitusi teks literal dan untuk mendefinisikan fungsi dll. Fungsi inline dapat digunakan untuk meminimalkan waktu eksekusi program.
Pemutusan
Makro berakhir dengan baris baru. Fungsi sebaris diakhiri dengan kurung kurawal di akhir fungsi sebaris.
Menentukan Titik
A Marco didefinisikan di awal program. Fungsi sebaris dapat berada di dalam atau di luar kelas.

Ringkasan – Makro vs Fungsi Inline

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

Direkomendasikan: