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; }
printValue(10); // 输出 10
printValue(20, 30); // 输出 20
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; }
printValues(1, 2, 3); // 输出 1 2 3
template <typename... Args> int sumValues(Args... values) { int sum = 0; for (auto&& value : values) { sum += value; } return sum; }
). 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}}; // 初始化一个包含两个键值对的字符串到整数映射
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!