Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Peranan parameter lalai fungsi C++ dan parameter pembolehubah dalam pengaturcaraan generik

Peranan parameter lalai fungsi C++ dan parameter pembolehubah dalam pengaturcaraan generik

WBOY
WBOYasal
2024-04-22 22:15:01492semak imbas

Parameter lalai dan parameter variadic dalam C++ memainkan peranan penting dalam pengaturcaraan generik: parameter lalai membenarkan fungsi untuk menentukan parameter pilihan semasa membuat panggilan, menjadikannya lebih mudah untuk mengendalikan unsur jenis dan nilai lalai yang berbeza. Variadik membenarkan fungsi menerima sebarang bilangan argumen, menjadikannya mudah untuk mengendalikan bilangan elemen yang berubah-ubah. Dalam kes praktikal, bekas generik (seperti vektor dan peta) menggunakan secara meluas parameter lalai dan parameter variadik, membenarkan jenis elemen dan saiz bekas lalai ditentukan. . Mari kita terokai cara mereka menjadikan kod generik lebih berkuasa.

C++ 函数默认参数和可变参数在泛型编程中的作用Parameter lalai

Parameter lalai membenarkan fungsi untuk menentukan parameter pilihan semasa membuat panggilan. Sintaksnya adalah seperti berikut:

template <typename T>
void printValue(T value, T default_value = 0) {
  cout << value << endl;
}

Fungsi boleh dipanggil tanpa menyatakan nilai lalai:

printValue(10); // 输出 10

Ia juga boleh dipanggil dengan nilai lalai:

printValue(20, 30); // 输出 20
Parameter lalai berguna dalam pengaturcaraan generik kerana ia membenarkan fungsi mengendalikan elemen dengan jenis dan nilai lalai yang berbeza. Contohnya, kod berikut memulakan vektor menggunakan parameter lalai:
template <typename T>
vector<T> initializeVector(int size, T default_value = 0) {
  vector<T> vec(size, default_value);
  return vec;
}

Parameter variadik

Parameter variadik membenarkan fungsi menerima sebarang bilangan argumen. Sintaksnya adalah seperti berikut:

template <typename... Args>
void printValues(Args... values) {
  for (auto&& value : values) {
    cout << value << " ";
  }
  cout << endl;
}

Fungsi boleh dipanggil dengan sebarang bilangan argumen:

printValues(1, 2, 3); // 输出 1 2 3

Argumen variadic berguna dalam pengaturcaraan generik kerana ia membenarkan fungsi mengendalikan bilangan elemen yang berubah-ubah. Sebagai contoh, kod berikut menggunakan argumen variadic untuk mengira jumlah senarai:

template <typename... Args>
int sumValues(Args... values) {
  int sum = 0;
  for (auto&& value : values) {
    sum += value;
  }
  return sum;
}
Contoh Praktikal: Bekas Generik

Argumen lalai dan argumen variadic digunakan secara meluas dalam bekas generik (seperti

). Bekas ini membenarkan menentukan jenis elemen dan saiz bekas lalai. Contohnya:

vector<int> numbers(100, 0); // 初始化一个包含 100 个值为 0 的整数向量
map<string, int> scores = {{"Alice", 90}, {"Bob", 80}}; // 初始化一个包含两个键值对的字符串到整数映射

Kesimpulan

Parameter lalai dan parameter variadik ialah ciri berkuasa dalam C++ yang menjadikan fungsi lebih fleksibel dan boleh digunakan semula. Dalam pengaturcaraan generik, mereka membenarkan fungsi untuk mengendalikan elemen dengan jenis dan nombor yang berbeza. Mengambil kesempatan sepenuhnya daripada ciri ini boleh mencipta kod generik yang lebih berkuasa dan lebih ringkas.

Atas ialah kandungan terperinci Peranan parameter lalai fungsi C++ dan parameter pembolehubah dalam pengaturcaraan generik. 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