Perbezaan Utama – Fungsi Makro lwn Sebaris
Makro ialah serpihan kod, yang merupakan arahan prapemproses. Fungsi sebaris ialah ciri peningkatan C++ untuk meminimumkan masa pelaksanaan program. Oleh itu, perbezaan utama antara Fungsi Makro dan Sebaris ialah makro disemak oleh prapemproses manakala fungsi sebaris disemak oleh pengkompil.
Makro disertakan pada permulaan program didahului dengan tanda cincang. Apabila terdapat nama makro dalam program, ia digantikan dengan kandungan makro.
Apakah Makro?
Prapemproses ialah atur cara yang memproses kod sumber sebelum ia melalui pengkompil. Ia beroperasi menggunakan baris arahan prapemproses atau arahan. Dalam program, arahan prapemproses diletakkan dalam program sumber sebelum program utama. Sebelum kod sumber melalui pengkompil, ia diperiksa oleh prapemproses untuk arahan prapemproses. Arahan prapemproses mempunyai simbol. Tidak seperti pernyataan lain, ia tidak berakhir dengan koma bernoktah. Satu jenis arahan prapemproses ialah makro. Secara umumnya, makro ditulis dengan huruf besar.
Rajah 01: Program C++ dengan Makro
Menurut program di atas, baris 3 dan baris 4 menunjukkan makro. Apabila mengira kawasan, nilai PI digantikan menggunakan makro yang ditentukan. Dalam baris 14, volum=CUBE(nilai), prapemproses mengembangkan pernyataan sebagai volum=(nilainilainilai). Mencari kubus boleh ditulis sebagai fungsi, tetapi di sini ia ditulis menggunakan makro. Jika terdapat pernyataan sebagai isipadu=CUBE(x+y), maka ia akan mengembang kepada isipadu=(x+yx+yx+y).
Sesetengah token pengaturcaraan mungkin mudah tersilap taip. Mereka boleh diganti menggunakan makro. cth. define AND &&, define ATAU ||. Definisi makro juga boleh termasuk ungkapan seperti define AREA 45.56.
Apakah itu Fungsi Sebaris?
Apabila fungsi dipanggil, pengkompil mengambil sedikit masa untuk melaksanakannya. Jika fungsi tidak begitu kompleks, pengaturcara boleh menukar fungsi kepada fungsi sebaris. Rujuk program di bawah.
Rajah 02: Fungsi tanpa Sebaris
print_hello ialah fungsi yang mudah. Ia mencetak rentetan "Hello" apabila fungsi dipanggil. Masa pelaksanaan untuk fungsi itu ialah 0.187s. Apabila menggunakan kata kunci sebaris seperti berikut, masa pelaksanaan berkurangan kepada 0.064s.
Rajah 03: Fungsi Sebaris
Oleh itu, dengan menggunakan kata kunci sebaris, masa pelaksanaan berkurangan. Fungsi sebaris mungkin tidak berfungsi jika terdapat gelung, pernyataan suis dan jika fungsi tersebut mengandungi pembolehubah statik atau fungsi rekursif.
Apakah Perbezaan Antara Fungsi Makro dan Sebaris?
Fungsi Makro lwn Sebaris |
|
Makro ialah serpihan kod, yang merupakan arahan prapemproses yang disertakan pada permulaan program didahului dengan tanda cincang. | Fungsi sebaris ialah ciri peningkatan C++ untuk meminimumkan masa pelaksanaan program. |
Masa Penilaian | |
Dalam makro, hujah dinilai setiap kali ia digunakan dalam program. | Dalam sebaris, hujah dinilai sekali. |
Disemak Oleh | |
Makro disemak oleh prapemproses. | Fungsi sebaris disemak oleh pengkompil. |
Kata kunci | |
Marco menggunakan define. | Fungsi sebaris menggunakan kata kunci ‘sebaris’. |
Penggunaan | |
Makro boleh digunakan untuk menentukan pemalar, ungkapan, untuk penggantian teks literal dan untuk mentakrifkan fungsi dsb. | Fungsi sebaris boleh digunakan untuk meminimumkan masa pelaksanaan program. |
Penamatan | |
Makro ditamatkan dengan baris baharu. | Fungsi sebaris ditamatkan dengan pendakap kerinting di hujung fungsi sebaris. |
Titik Penentu | |
A Marco ditakrifkan pada permulaan program. | Fungsi sebaris boleh berada di dalam atau di luar kelas. |
Ringkasan – Fungsi Makro lwn Sebaris
Artikel ini membincangkan perbezaan antara Fungsi Makro dan Sebaris. Konsep ini digunakan dalam pengaturcaraan C++. Perbezaan antara Fungsi Makro dan Sebaris ialah makro disemak oleh prapemproses manakala fungsi sebaris disemak oleh pengkompil.