Perbezaan Utama - Fungsi Makro vs Sebaris
Makro adalah pecahan kod, yang merupakan arahan preprocessor. Fungsi sebaris adalah ciri peningkatan C ++ untuk meminimumkan masa pelaksanaan program. Oleh itu, perbezaan utama antara Fungsi Makro dan Inline ialah makro diperiksa oleh preprocessor sementara fungsi sebaris diperiksa oleh penyusun.
Makro disertakan pada awal program yang didahului oleh tanda hash. Apabila terdapat nama makro dalam program, ia digantikan dengan kandungan makro.
KANDUNGAN
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu Makro
3. Apa itu Fungsi Inline
4. Perbandingan Berdampingan - Fungsi Makro vs Sebaris dalam Bentuk Jadual
5. Ringkasan
Apa itu Makro?
Praprosesor adalah program yang memproses kod sumber sebelum melewati penyusun. Ia beroperasi menggunakan baris arahan preprocessor atau arahan. Dalam program tersebut, arahan preprocessor diletakkan di program sumber sebelum program utama. Sebelum kod sumber melalui penyusun, ia diperiksa oleh preprocessor untuk arahan preprocessor. Arahan preprocessor mempunyai simbol #. Tidak seperti pernyataan lain, ia tidak berakhir dengan titik koma. Satu jenis arahan preprocessor adalah makro. Umumnya, makro ditulis dengan huruf besar.
Gambar 01: Program C ++ dengan Makro
Menurut program di atas, baris 3 dan baris 4 menunjukkan makro. Semasa mengira luas, nilai PI diganti menggunakan makro yang ditentukan. Pada baris 14, isipadu = CUBE (nilai), preprocessor memperluas pernyataan sebagai volume = (nilai * nilai * nilai). Mencari kiub boleh ditulis sebagai fungsi, tetapi di sini ia ditulis menggunakan makro. Sekiranya terdapat penyataan sebagai isipadu = CUBE (x + y), maka ia akan berkembang menjadi kelantangan = (x + y * x + y * x + y).
Beberapa token pengaturcaraan mungkin salah taip. Ia boleh diganti dengan menggunakan makro. contohnya #define AND &&, #define ATAU ||. Definisi makro juga boleh merangkumi ungkapan seperti #define AREA 4 * 5.56.
Apakah Fungsi Inline?
Apabila fungsi dipanggil, penyusun memerlukan sedikit masa untuk melaksanakannya. Sekiranya fungsinya tidak terlalu kompleks, pengaturcara dapat mengubah fungsi tersebut menjadi fungsi sebaris. Rujuk program di bawah.
Gambar 02: Fungsi tanpa sebaris
Print_hello adalah fungsi mudah. Ia mencetak rentetan "Hello" ketika fungsi dipanggil. Masa pelaksanaan untuk fungsi tersebut ialah 0.187s. Apabila menggunakan kata kunci sebaris seperti berikut, masa pelaksanaan berkurang menjadi 0.064s.
Gambar 03: Fungsi sebaris
Oleh itu, dengan menggunakan kata kunci sebaris, masa pelaksanaan akan berkurang. Fungsi sebaris mungkin tidak berfungsi jika terdapat gelung, beralih pernyataan dan jika fungsi tersebut mengandungi pemboleh ubah statik atau fungsi rekursif.
Apakah Perbezaan Antara Fungsi Makro dan Inline?
Artikel Diff Tengah sebelum Jadual
Fungsi Makro vs Sebaris |
|
Makro adalah pecahan kod, yang merupakan arahan preprocessor yang disertakan pada awal program yang didahului oleh tanda hash. | Fungsi sebaris adalah ciri peningkatan C ++ untuk meminimumkan masa pelaksanaan program. |
Masa Penilaian | |
Secara makro, argumen dinilai setiap kali digunakan dalam program. | Secara sebaris, hujah dinilai sekali. |
Diperiksa oleh | |
Makro diperiksa oleh preprocessor. | Fungsi sebaris diperiksa oleh penyusun. |
Kata kunci | |
Marco menggunakan #define. | Fungsi sebaris menggunakan kata kunci 'sebaris'. |
Penggunaan | |
Makro boleh digunakan untuk menentukan pemalar, ekspresi, untuk penggantian teks literal dan untuk menentukan fungsi dll. | Fungsi sebaris dapat digunakan untuk meminimumkan waktu pelaksanaan program. |
Penamatan | |
Makro berakhir dengan barisan baru. | Fungsi sebaris berakhir dengan pendakap keriting pada akhir fungsi sebaris. |
Titik Takrifan | |
Seorang Marco ditentukan pada awal program. | Fungsi sebaris boleh berada di dalam atau di luar kelas. |
Ringkasan - Fungsi Makro vs Sebaris
Artikel ini membincangkan perbezaan antara Fungsi Makro dan Inline. Konsep-konsep ini digunakan dalam pengaturcaraan C ++. Perbezaan antara Fungsi Makro dan Inline adalah bahawa makro diperiksa oleh preprocessor sementara fungsi sebaris diperiksa oleh penyusun.