Rumah > Artikel > pembangunan bahagian belakang > Peranan parameter lalai fungsi C++ dan parameter pembolehubah dalam pengaturcaraan generik
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.
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); // 输出 10Ia juga boleh dipanggil dengan nilai lalai:
printValue(20, 30); // 输出 20Parameter 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 3Argumen 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!