Bagaimana untuk menggunakan lebihan penuding fungsi C++ dan pengaturcaraan generik?

PHPz
Lepaskan: 2024-04-17 13:45:02
asal
1089 orang telah melayarinya

Lebihan penuding fungsi C++ melaksanakan penuding kepada berbilang fungsi dengan nama yang sama tetapi parameter yang berbeza atau nilai pulangan dengan menyatakan tandatangan fungsi yang berbeza. Pengaturcaraan generik menggunakan templat untuk mencipta fungsi dan struktur data yang berfungsi dengan pelbagai jenis data, menjadikan kod boleh digunakan semula. Menggunakan lebihan penuding fungsi memerlukan penulisan fungsi yang berasingan untuk setiap jenis, manakala pengaturcaraan generik menggunakan fungsi biasa untuk mengendalikan semua jenis. . Ini dicapai dengan menjadikan bahagian tandatangan fungsi daripada jenis penunjuk.

int add(int x, int y);
double add(double x, double y);

int* addPtr = add; // 指向 int 版本的函数
double* addPtr = add; // 指向 double 版本的函数
Salin selepas log masuk

如何使用 C++ 函数指针重载和泛型编程?Pengaturcaraan Generik

Pengaturcaraan generik menggunakan templat untuk mencipta fungsi dan struktur data yang boleh digunakan pada jenis data yang berbeza. Ia membolehkan anda menulis kod boleh guna semula yang tidak khusus untuk mana-mana jenis tertentu.

template <typename T>
T max(T a, T b) {
  return (a > b) ? a : b;
}
Salin selepas log masuk
Templat fungsi max() boleh digunakan untuk sebarang jenis data yang setanding, seperti int, double dan rentetan.

Kes Praktikal

Pertimbangkan program yang perlu menjumlahkan data pelbagai jenis:

// using function pointers
int sum(int* arr, int len) {
  int result = 0;
  for (int i = 0; i < len; i++) {
    result += arr[i];
  }
  return result;
}

double sum(double* arr, int len) {
  double result = 0.0;
  for (int i = 0; i < len; i++) {
    result += arr[i];
  }
  return result;
}

// using templates
template <typename T>
T sum(T* arr, int len) {
  T result = 0;
  for (int i = 0; i < len; i++) {
    result += arr[i];
  }
  return result;
}
Salin selepas log masuk
Menggunakan penunjuk fungsi, kita perlu menulis fungsi jumlah berasingan untuk setiap jenis. Menggunakan pengaturcaraan generik, kami menulis fungsi penjumlahan umum yang boleh digunakan dengan sebarang jenis.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan lebihan penuding fungsi C++ dan pengaturcaraan generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!