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

WBOY
Lepaskan: 2024-04-22 22:15:01
asal
549 orang telah melayarinya

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;
}
Salin selepas log masuk

Fungsi boleh dipanggil tanpa menyatakan nilai lalai:

printValue(10); // 输出 10
Salin selepas log masuk

Ia juga boleh dipanggil dengan nilai lalai:

printValue(20, 30); // 输出 20
Salin selepas log masuk
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;
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

Fungsi boleh dipanggil dengan sebarang bilangan argumen:

printValues(1, 2, 3); // 输出 1 2 3
Salin selepas log masuk

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;
}
Salin selepas log masuk
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}}; // 初始化一个包含两个键值对的字符串到整数映射
Salin selepas log masuk

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!

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