Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Lebihan beban fungsi C++ dan sebaris fungsi

Lebihan beban fungsi C++ dan sebaris fungsi

WBOY
WBOYasal
2024-04-16 09:09:01783semak imbas

Lebih muatan fungsi dan sebaris fungsi Lebih muatan fungsi membolehkan mencipta berbilang fungsi dengan nama yang sama tetapi senarai parameter berbeza, menulis kod khusus untuk jenis input yang berbeza. Inlining fungsi ialah pengoptimuman pengkompil yang memasukkan kod fungsi terus ke dalam titik panggilan untuk meningkatkan kelajuan program.

C++ 函数重载和函数内联

C++ Overloading Fungsi dan Function Inlining

Function Overloading

Function Overloading membolehkan anda mencipta berbilang fungsi dengan nama yang sama tetapi berbeza senarai parameter. Ini membolehkan anda menulis kod khusus sasaran berdasarkan jenis atau jumlah input yang berbeza.

Sintaks:

returnType functionName(parameter1, parameter2, ...);
returnType functionName(parameter1, parameter2, ..., parameterN);

Contoh:

int sum(int a, int b) { return a + b; }
double sum(double a, double b) { return a + b; }

Fungsi sebaris

Fungsi sebaris ialah sejenis kompilasi panggilan ke tapak (selain menyisipkan fungsi secara langsung ke dalam fungsi panggilan ke) Teknologi pengoptimuman pelayan. Ini boleh meningkatkan kelajuan program anda, terutamanya jika fungsi dipanggil dengan kerap.

Sintaks:

Untuk fungsi:

inline returnType functionName(parameter1, parameter2, ...);

Untuk fungsi ahli:

inline returnType className::memberFunctionName(parameter1, parameter2, ...);

Contoh praktikal:

Katakan anda ingin mengira kawasan pelbagai bentuk Anda boleh menggunakan lebihan fungsi untuk mencipta fungsi pengiraan kawasan khusus untuk setiap bentuk.

Contoh:

#include <iostream>

using namespace std;

double area(int radius) {
  return 3.14 * radius * radius;
}

double area(int length, int width) {
  return length * width;
}

double area(int base, int height) {
  return 0.5 * base * height;
}

int main() {
  cout << "圆的面积: " << area(5) << endl;
  cout << "矩形的面积: " << area(4, 7) << endl;
  cout << "三角形的面积: " << area(3, 6) << endl;
}

Dengan menggunakan inlining fungsi, kecekapan program boleh dipertingkatkan lagi:

#include <iostream>

using namespace std;

inline double area(int radius) {
  return 3.14 * radius * radius;
}

inline double area(int length, int width) {
  return length * width;
}

inline double area(int base, int height) {
  return 0.5 * base * height;
}

int main() {
  cout << "圆的面积: " << area(5) << endl;
  cout << "矩形的面积: " << area(4, 7) << endl;
  cout << "三角形的面积: " << area(3, 6) << endl;
}

Atas ialah kandungan terperinci Lebihan beban fungsi C++ dan sebaris fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn