Fungsi Inline C ++: Panduan Lengkap – Codewithaden

Fungsi inline adalah cara yang bagus untuk mendefinisikan fungsi kecil yang waktu eksekusi kurang dari waktu yang diperlukan untuk transit kontrol dari fungsi yang dipanggil ke fungsi panggilan.

Fungsi C ++ Inline

Fungsi inline di C ++ menggantikan kode fungsi yang akan dieksekusi dalam kode program utama itu sendiri di tempat yang disebutnya. Jadi secara otomatis menghilangkan waktu yang diperlukan untuk mengalihkan kontrol dari fungsi yang dipanggil ke program utama, membuat seluruh program jauh lebih efisien.

Sintaksis

Lihat sintaks berikut.

inline return_valuetype function_name()
{
  //function definition;
}
 

Contoh

Lihat contoh kode berikut.

inline int add(int a, int b)
{
  int sum=0;
  sum=a + b;
  return sum;
} 

Masalah dengan fungsi kecil

Ketika kami menggunakan fungsi kecil untuk tugas -tugas yang cukup kecil dalam program kami, mereka membutuhkan waktu yang hampir diabaikan untuk menjalankan perintah.

Sebaliknya, dibutuhkan lebih banyak waktu untuk mengambil kontrol eksekusi dari pernyataan panggilan fungsi di fungsi utama () ke definisi fungsi dan mengembalikannya ke pernyataan berikutnya setelah pernyataan panggilan fungsi.

Tetapi fungsi diperlukan untuk membuat program modular. Jadi solusi untuk ini adalah fungsi inline. Mereka menghilangkan waktu yang dibutuhkan kompiler untuk memindahkan kontrol eksekusi.

Mereka melakukannya dengan menempatkan definisi fungsi dari tempat itu didefinisikan ke titik di mana pernyataan panggilan fungsi dibuat, sejalan dengan program utama seperti kode umum selama waktu kompilasi.

Program untuk mendeklarasikan fungsi inline

Lihat program berikut.

#include  
using namespace std; 

inline int function(int a, int b) 
{ 
    int equation;
    equation=a*a + b*b;
    return equation;
} 
int main() 
{   int p,q;
    scanf("%d%d",&p,&q);
    cout << "The value of the equation is: " << function(p,q) << endl; 
    return 0; 
} 

Lihat output berikut.

C++

Keuntungan menggunakan fungsi inline

Menyimpan Operasi Push/Pop

Fungsi memiliki salinan variabel terpisah untuk mereka dengan ruang lingkup lokal, dan mereka perlu diteruskan/ dikembalikan ke fungsi utama setelah pelaksanaan fungsi. Ini menghemat waktu sistem untuk terlebih dahulu nilai -nilai dalam variabel lokal dan kemudian meneruskannya ke yang global. Alih -alih fungsi inline, karena mereka adalah bagian dari program utama, nilai -nilai tersebut secara langsung disimpan dalam variabel global.

Bermanfaat untuk sistem tertanam

Fungsi inline sangat bagus untuk menjalankan program sistem tertanam. Namun, mereka menyimpan terlalu sedikit memori dengan perangkat keras terbatas untuk menyimpan file perangkat lunak. Fungsi inline membuat file yang dikompilasi (siap dieksekusi) ukurannya kecil dibandingkan dengan yang dibuat menggunakan standar fungsi definisi.

Itu membuat program lebih dioptimalkan.

Ketika kompiler mengkompilasi program, secara otomatis meningkatkan aliran di dalam fungsi utama () untuk membuat program efisien. Tapi ini tidak terjadi dengan fungsi didefinisikan di dalam fungsi utama (). Sebagai gantinya, menggunakan fungsi Inline, kami mentransfer definisi fungsi ke fungsi utama () seperti yang ditulis pada awalnya di sana. Oleh karena itu, kompiler meningkatkan potongan kode itu dan membuat program lebih efisien.

Kerugian menggunakan fungsi inline

Membutuhkan register memori tambahan

Salah satu kelemahan utama menggunakan fungsi inline adalah jumlah register memori tambahan sekaligus. Dengan panggilan fungsi standar, register memori yang digunakan untuk definisi fungsi dibebaskan ketika kembali ke fungsi main ().

Karena fungsi inline dieksekusi dengan fungsi utama () itu sendiri, register digunakan secara bersamaan. Dan jika jumlah variabel yang dinyatakan lebih dari register yang tersedia, dibutuhkan sebagian besar waktu bagi program untuk dieksekusi.

Meningkatkan ukuran file yang dapat dieksekusi

Masalahnya dengan fungsi inline adalah meningkatkan redundansi kode. Ketika kompiler mengkompilasi program, definisi fungsi inline ditempatkan di program utama () di mana saja disebut.

Jadi jika Anda telah membuat terlalu banyak panggilan fungsi sebaris, definisi fungsi akan diperkenalkan dalam program utama () di banyak tempat, sehingga meningkatkan ukuran file yang dapat dieksekusi dan mengurangi efisiensi program.

Meningkatkan waktu kompilasi

Jika ada perubahan yang harus dilakukan dalam program, itu harus dikompilasi ulang. Dengan definisi fungsi standar, perubahan dalam definisi fungsi dikompilasi hanya sekali di mana mereka dinyatakan, tetapi dengan fungsi inline.

Karena kode disebutkan berkali -kali dalam fungsi utama (), dikompilasi setiap kali dalam program. Oleh karena itu, berbagai kompilasi dari definisi yang sama menambah dan meningkatkan waktu kompilasi program.

Itu untuk tutorial ini.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *